Skip to content

Instantly share code, notes, and snippets.

@pengan1987
Last active July 4, 2016 20:46
Show Gist options
  • Select an option

  • Save pengan1987/5e8cecd9902a799a238e7cd7ffe9fd06 to your computer and use it in GitHub Desktop.

Select an option

Save pengan1987/5e8cecd9902a799a238e7cd7ffe9fd06 to your computer and use it in GitHub Desktop.
XML menu resource adapter/inflator for AHBottomNavigation
package com.demo.demo1;
import android.app.Activity;
import android.support.annotation.MenuRes;
import android.support.v7.widget.PopupMenu;
import android.view.Menu;
import android.view.MenuItem;
import com.aurelhubert.ahbottomnavigation.AHBottomNavigation;
import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem;
import java.util.ArrayList;
import java.util.List;
public class AHBottomNavigationAdapter {
final Menu mMenu;
List<AHBottomNavigationItem> navigationItems;
public AHBottomNavigationAdapter(Activity activity, @MenuRes int menuRes) {
PopupMenu popupMenu = new PopupMenu(activity, null);
mMenu = popupMenu.getMenu();
activity.getMenuInflater().inflate(menuRes, mMenu);
}
public void setupWithBottomNavigation(AHBottomNavigation ahBottomNavigation) {
if (navigationItems == null)
navigationItems = new ArrayList<>();
else
navigationItems.clear();
if (mMenu != null) {
for (int i = 0; i < mMenu.size(); i++) {
MenuItem item = mMenu.getItem(i);
AHBottomNavigationItem navigationItem = new AHBottomNavigationItem(String.valueOf(item.getTitle()), item.getIcon());
navigationItems.add(navigationItem);
}
ahBottomNavigation.removeAllItems();
ahBottomNavigation.addItems(navigationItems);
}
}
public MenuItem getMenuItem(int index) {
return mMenu.getItem(index);
}
public AHBottomNavigationItem getNavigationItem(int index) {
return navigationItems.get(index);
}
public Integer getPositionByMenuId(int menuId) {
for (int i = 0; i < mMenu.size(); i++) {
if (mMenu.getItem(i).getItemId() == menuId)
return i;
}
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment