Andrea Magni has a blog post up where he demonstrates how to dynamically create a menu from an ActionList at runtime and how to use ApplyStyleLookup to customize TListView it background colors. The supplied source code should work for Delphi XE5 Firemonkey on Android and IOS. The main content of the application is contained inside of a TTabControl and then the menu itself pulls down from the top of the application. An arrow and rectangle are setup at the top of the app. When you click the arrow the menu drops down revealing the TListView. The listview is populated from a TActionList which allows you to easily use the Delphi IDE to manage your menu items. The next trick used is in the ApplyStyleLookup event of the TListView. The item background colors are customized using the following code:
procedure TMainForm.MenuListViewApplyStyleLookup(Sender: TObject);
// hack the ListView style to have a dark background
LStyleObject := MenuListView.FindStyleResource('itembackground');
if LStyleObject is TColorObject then
TColorObject(LStyleObject).Color := TAlphaColorRec.Slategray;
Dynamic Runtime Menus With Actionlists For Delphi XE5 Firemonkey On Android And IOS by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Tokyo Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.