下面列出了android.support.annotation.MenuRes#android.support.v7.view.SupportMenuInflater 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void inflateMenu(int menu) {
MenuInflater menuInflater = new SupportMenuInflater(getContext());
MenuBuilder menuBuilder = new MenuBuilder(getContext());
menuInflater.inflate(menu, menuBuilder);
List<Item> items = new ArrayList<>();
for (int i = 0; i < menuBuilder.size(); i++) {
MenuItem menuItem = menuBuilder.getItem(i);
Item item = new Item();
item.setId(menuItem.getItemId());
item.setIcon(menuItem.getIcon());
item.setTitle(menuItem.getTitle().toString());
items.add(item);
}
addItems(items);
}
/**
* Set Toolbar.
*
* @param toolbar {@link Toolbar}.
*/
public final void setToolbar(@NonNull Toolbar toolbar) {
this.mToolbar = toolbar;
onCreateOptionsMenu(mToolbar.getMenu(), new SupportMenuInflater(mActivity));
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return onOptionsItemSelected(item);
}
});
}
@SuppressLint("RestrictedApi")
void inflateMenu(int menu, OnItemClickListener onItemClickListener) {
MenuInflater menuInflater = new SupportMenuInflater(getContext());
MenuBuilder menuBuilder = new MenuBuilder(getContext());
menuInflater.inflate(menu, menuBuilder);
List<CustomItem> items = new ArrayList<>();
for (int i = 0; i < menuBuilder.size(); i++) {
MenuItem menuItem = menuBuilder.getItem(i);
items.add(new CustomItem(menuItem.getItemId(), menuItem.getTitle().toString(), menuItem.getIcon()));
}
addItems(items, onItemClickListener);
}
public void inflateMenu(int menu) {
MenuInflater menuInflater = new SupportMenuInflater(getContext());
MenuBuilder menuBuilder = new MenuBuilder(getContext());
menuInflater.inflate(menu, menuBuilder);
List<Item> items = new ArrayList<>();
for (int i = 0; i < menuBuilder.size(); i++) {
MenuItem menuItem = menuBuilder.getItem(i);
Item item = new Item();
item.setId(menuItem.getItemId());
item.setIcon(menuItem.getIcon());
item.setTitle(menuItem.getTitle().toString());
items.add(item);
}
addItems(items);
}
/**
* Inflates the DrawerItems from a menu.xml
*
* @param menuRes
* @return
*/
public DrawerBuilder inflateMenu(@MenuRes int menuRes) {
MenuInflater menuInflater = new SupportMenuInflater(mActivity);
MenuBuilder mMenu = new MenuBuilder(mActivity);
menuInflater.inflate(menuRes, mMenu);
addMenuItems(mMenu, false);
return this;
}
/**
* Inflates a menu resource into the menu backing this sheet.
*
* @param menuRes Menu resource ID
*/
public void inflateMenu(@MenuRes int menuRes) {
if (menuRes != -1) {
SupportMenuInflater inflater = new SupportMenuInflater(getContext());
inflater.inflate(menuRes, menu);
}
prepareMenuItems();
}
@Override
MenuInflater getMenuInflater() {
return new SupportMenuInflater(mActionBar != null ? mActionBar.getContext() : getContext());
}
@Override
MenuInflater getMenuInflater() {
return new SupportMenuInflater(mActionBar != null ? mActionBar.getContext() : getContext());
}
/**
* Set a menu from it's resource id.
*
* @param menuRes menu resource to be set
*/
public void setMenu(@MenuRes int menuRes) {
mMenu = new MenuBuilder(getContext());
new SupportMenuInflater(getContext()).inflate(menuRes, mMenu);
setMenu(mMenu);
}
@Override
MenuInflater getMenuInflater() {
return new SupportMenuInflater(getContext());
}
@Override
MenuInflater getMenuInflater() {
return new SupportMenuInflater(getContext());
}