private void setUpNavigationMenu() { MenuItem organizationContainer = navigationView.getMenu().findItem(R.id.navigation_organizations); if (organizationContainer.hasSubMenu()) { SubMenu organizationsMenu = organizationContainer.getSubMenu(); for (int i = 1; i < orgs.size(); i++) { User organization = orgs.get(i); if (organizationsMenu.findItem(organization.id().intValue()) == null) { MenuItem organizationMenuItem = organizationsMenu.add(Menu.NONE, organization.id().intValue(), Menu.NONE, organization.name() != null ? organization.name() : organization.login()); organizationMenuItem.setIcon(R.drawable.ic_github_organization_black_24dp); //Because of tinting the real image would became a grey block //avatars.bind(organizationMenuItem, organization); menuItemOrganizationMap.put(organizationMenuItem, organization); } } } else { throw new IllegalStateException("Menu item " + organizationContainer + " should have a submenu"); } }
if (item.hasSubMenu()) { SubMenu subMenu = item.getSubMenu(); if (subMenu.hasVisibleItems()) { if (menuType == LIST) {
private void populateIcons(Menu menu, IconData root, int defaultIconColor) { for(int i = 0; i < menu.size(); i++){ MenuItem m = menu.getItem(i); IconData d = root.children.get(i); if(m.hasSubMenu()){ populateIcons(m.getSubMenu(), d, defaultIconColor); } if(d.itemIconResId >= 0) m.setIcon( MaterialDrawableBuilder.with(mContext) .setIcon(MaterialDrawableBuilder.IconValue.values()[d.itemIconResId]) .setColor(d.itemColor != -1 ? d.itemColor : defaultIconColor) .setToActionbarSize() .build() ); } }
.withSelectable(false); getItemAdapter().add(iDrawerItem); addMenuItems(mMenuItem.getSubMenu(), true); } else if (mMenuItem.getGroupId() != 0 || subMenu) { iDrawerItem = new SecondaryDrawerItem()
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.main, menu); MenuItem preset = menu.findItem(R.id.action_preset); Menu m = preset.getSubMenu(); String[] presets = getResources().getStringArray(R.array.presets); for (int i = 0; i < presets.length; i++) { final int index = i + 1; m.add(Menu.NONE, i, Menu.NONE, presets[i]).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { setPreset(index); return true; } }); } }
private void selectNavMenu() { int size_menu = navigationView.getMenu().size(); for (int i = 0; i < size_menu; i++) { final MenuItem item = navigationView.getMenu().getItem(i); if (item.hasSubMenu()) { unCheckAllMenuItems(item.getSubMenu()); } else { item.setChecked(false); } } switch (navItemIndex) { case 0: case 1: case 2: navigationView.getMenu().getItem(navItemIndex).setChecked(true); break; case 3: navigationView.getMenu().getItem(4).getSubMenu().getItem(1).setChecked(true); break; case 4: navigationView.getMenu().getItem(4).getSubMenu().getItem(0).setChecked(true); break; default: navigationView.getMenu().getItem(0).setChecked(true); break; } }
@Override public void onBackStackChanged() { if (menu == null) return; if (narrowedList == null) { calendar = Calendar.getInstance(); menu.findItem(R.id.filter).getSubMenu().getItem(0).setTitle(R.string.menu_today); switchToStream(); checkForChatBoxFocusRequest(); } else if (narrowedList.filter instanceof NarrowFilterByDate) { menu.findItem(R.id.filter).getSubMenu().getItem(0).setTitle(R.string.menu_one_day_before); } } });
private static void setOnMenuItemClickListenerRecursive(Menu menu, OnMenuItemClickListener listener) { List<Menu> menus = new ArrayList<>(1); menus.add(menu); while (!menus.isEmpty()) { final Menu currentMenu = menus.remove(0); for (int i = 0; i < currentMenu.size(); ++i) { final MenuItem item = currentMenu.getItem(i); item.setOnMenuItemClickListener(listener); final SubMenu subMenu = item.getSubMenu(); if (subMenu != null) menus.add(subMenu); } } }
@Override public SubMenu getSubMenu() { if (hasSubMenu() && (mSubMenu == null)) { mSubMenu = new SubMenuWrapper(mNativeItem.getSubMenu()); } return mSubMenu; }
@Override public SubMenu getSubMenu() { if (hasSubMenu() && (mSubMenu == null)) { mSubMenu = new SubMenuWrapper(mNativeItem.getSubMenu()); } return mSubMenu; }
public static void uncheckItems(Menu menu) { if (menu == null) { return; } for (int i = 0; i < menu.size(); i++) { MenuItem item = menu.getItem(i); item.setChecked(false); uncheckItems(item.getSubMenu()); } }
public void overrideTags(OnDrawerSelectionChangedListener listener, Collection<Tag> tags){ final Menu overview = view.getMenu(); final SubMenu tagSubmenu = overview.findItem(R.id.navigation_tags).getSubMenu(); tagSubmenu.clear(); for(Tag tag : tags){ addTag(tagSubmenu, listener, tag); } }
public MenuItem addNotebook(OnDrawerSelectionChangedListener listener, Notebook notebook){ return addNotebook(view.getContext(), view.getMenu().findItem(R.id.navigation_notebooks).getSubMenu(), listener, notebook); }
public void deleteNotebook(String notebookName){ final SubMenu notebookSubmenu = view.getMenu().findItem(R.id.navigation_notebooks).getSubMenu(); for(int i=0; i<notebookSubmenu.size(); i++){ final int currentId = notebookSubmenu.getItem(i).getItemId(); final String actualTitle = notebookSubmenu.getItem(i).getTitle().toString(); if(actualTitle.equals(notebookName)){ notebookSubmenu.removeItem(currentId); } } }
private static void uncheckAllMenuItems(Menu menu) { int size = menu.size(); for (int i = 0; i < size; i++) { MenuItem item = menu.getItem(i); if(item.hasSubMenu()) { uncheckAllMenuItems(item.getSubMenu()); } else { item.setChecked(false); } } }
public void overrideNotebooks(OnDrawerSelectionChangedListener listener, Collection<Notebook> notebooks){ final Menu overview = view.getMenu(); final SubMenu notebookSubmenu = overview.findItem(R.id.navigation_notebooks).getSubMenu(); notebookSubmenu.clear(); for(Notebook book : notebooks){ addNotebook(view.getContext(), notebookSubmenu, listener, book); } }
public static void setMenuSource(final IActionController<?> c, final Menu menu, final Object source) { for (int i = 0, n = menu.size(); i < n; i++) { final MenuItem item = menu.getItem(i); final SubMenu subMenu = item.getSubMenu(); if (subMenu != null) { setMenuSource(c, subMenu, source); } else { setMenuItemSource(c, item, source); } } }
/** * Try to tint all {@link Menu}s {@link MenuItem}s with given color */ @SuppressWarnings("ConstantConditions") public void tintMenuItems(Menu menu, boolean recurse, @ColorInt int iconColor) { for (int i = 0; i < menu.size(); i++) { MenuItem item = menu.getItem(i); tintDrawable(item.getIcon(), iconColor); if (item.hasSubMenu() && recurse) { tintMenuItems(item.getSubMenu(), recurse, iconColor); } } }
private void selectNavItemFromSub(String entryName, SubMenu subMenu) { for(int i = 0; i < subMenu.size(); i++) { MenuItem item = subMenu.getItem(i); if( item.hasSubMenu() ) selectNavItemFromSub(entryName, item.getSubMenu()); else { if (item.getTitle().equals(entryName)) { selectNavItem(item); return; } } } }
private void selectNavItem(String entryName) { for(int i = 0; i < mNavigationView.getMenu().size(); i++) { MenuItem item = mNavigationView.getMenu().getItem(i); if( item.hasSubMenu() ) { selectNavItemFromSub(entryName, item.getSubMenu()); } else { if (item.getTitle().equals(entryName)) { selectNavItem(item); return; } } } }