Ich habe eine App mit Schublade Menü. Die apps-Architektur erfordert, dass Menüelemente dynamisch erstellt werden, sodass sie nach den entsprechenden Designstandards aussehen.Wie man dynamisch erstelltes Schubladenmenü anpasst?
Hier ist der Code, der Menü erstellt.
private void formMainMenu() {
itemsByGroups = getMenuItemGroups();
Menu menu = navigationView.getMenu();
int groupId = 0;
for (Map.Entry<String, List<MainMenuUser>> entry : itemsByGroups.entrySet()) {
if (!entry.getKey().equals(MainMenuGroup.TOP.toString()) &&
!entry.getKey().equals(MainMenuGroup.BOTTOM.toString())) {
createSubmenu(menu, groupId, entry);
} else {
createMenuItem(menu, groupId, entry);
}
groupId++;
}
}
private void createSubmenu(Menu menu, int groupId, Map.Entry<String, List<MainMenuUser>> entry) {
String subMenuHeader = entry.getKey();
SubMenu subMenu = menu.addSubMenu(groupId, Menu.NONE, Menu.NONE, subMenuHeader);
List<MainMenuUser> menuUsers = entry.getValue();
for (int i = 0; i < menuUsers.size(); i++) {
int order = menuUsers.get(i).getMainMenuPositionOrder();
int titleId = menuUsers.get(i).getMainMenuItem().getTitleId();
if (menuUsers.get(i).isEnableNow(BaseApp.getApp().getSdkConfig().getSupportedFunctionality())) {
subMenu.add(groupId, i, order, titleId);
}
}
}
private void createMenuItem(Menu menu, int groupId, Map.Entry<String, List<MainMenuUser>> entry) {
List<MainMenuUser> menuUsers = entry.getValue();
for (int i = 0; i < menuUsers.size(); i++) {
if (menuUsers.get(i).isEnableNow(BaseApp.getApp().getSdkConfig().getSupportedFunctionality())) {
menu.add(groupId, i, Menu.NONE, menuUsers.get(i).getMainMenuItem().getTitleId());
}
}
}
Und so sieht es aus.
Meine Frage. Wie können Kopfzeilen und Artikel mithilfe von Stilen angepasst werden, um das Aussehen der Schublade je nach Geschmack des Produkts ändern zu können?
hehe das ist 1.000.000th Frage markiert 'android' ... jetzt solltest du dein Glück im Lotto versuchen ;-) – pskink