android.support.v7.view.menu.MenuPopupHelper Java Examples
The following examples show how to use
android.support.v7.view.menu.MenuPopupHelper.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PopupMenuActivity.java From MaterialDesignDemo with MIT License | 6 votes |
public void showPopupMenu(View view) throws NoSuchFieldException, IllegalAccessException { PopupMenu popupMenu = new PopupMenu(this, view); //设置 PopupMenu 的显示菜单项 popupMenu.inflate(R.menu.main); // popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());//与一行没什么区别 //默认 PopupMenu 不显示条目icon,可以通过反射来强制使其显示icon Field field = popupMenu.getClass().getDeclaredField("mPopup"); field.setAccessible(true); MenuPopupHelper mHelper = (MenuPopupHelper) field.get(popupMenu); mHelper.setForceShowIcon(true); //设置 PopupMenu 的条目点击事件(点击后会自动dismiss) popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT).show(); return false; } }); //显示 PopupMenu popupMenu.show(); }
Example #2
Source File: EditorActivity.java From spline with Apache License 2.0 | 5 votes |
@Override public void onClick(View v) { MenuPopupHelper menuHelper = new MenuPopupHelper(this, (MenuBuilder) mLayerTypePopup.getMenu(), mBinding.addLayerBtn); menuHelper.setForceShowIcon(true); menuHelper.show(); }
Example #3
Source File: ToolbarContentTintHelper.java From APlayer with GNU General Public License v3.0 | 5 votes |
public static void applyOverflowMenuTint(final @NonNull Context context, final Toolbar toolbar, final @ColorInt int color) { if (toolbar == null) { return; } toolbar.post(new Runnable() { @Override public void run() { try { Field f1 = Toolbar.class.getDeclaredField("mMenuView"); f1.setAccessible(true); ActionMenuView actionMenuView = (ActionMenuView) f1.get(toolbar); Field f2 = ActionMenuView.class.getDeclaredField("mPresenter"); f2.setAccessible(true); // Actually ActionMenuPresenter BaseMenuPresenter presenter = (BaseMenuPresenter) f2.get(actionMenuView); Field f3 = presenter.getClass().getDeclaredField("mOverflowPopup"); f3.setAccessible(true); MenuPopupHelper overflowMenuPopupHelper = (MenuPopupHelper) f3.get(presenter); setTintForMenuPopupHelper(context, overflowMenuPopupHelper, color); Field f4 = presenter.getClass().getDeclaredField("mActionButtonPopup"); f4.setAccessible(true); MenuPopupHelper subMenuPopupHelper = (MenuPopupHelper) f4.get(presenter); setTintForMenuPopupHelper(context, subMenuPopupHelper, color); } catch (Exception e) { e.printStackTrace(); } } }); }
Example #4
Source File: AppInfoListAdapter.java From AppPlus with MIT License | 5 votes |
private void makePopForceShowIcon(PopupMenu popupMenu) { try { Field mFieldPopup=popupMenu.getClass().getDeclaredField("mPopup"); mFieldPopup.setAccessible(true); MenuPopupHelper mPopup = (MenuPopupHelper) mFieldPopup.get(popupMenu); mPopup.setForceShowIcon(true); } catch (Exception e) { } }
Example #5
Source File: AppFileListAdapter.java From AppPlus with MIT License | 5 votes |
private void makePopForceShowIcon(PopupMenu popupMenu) { try { Field mFieldPopup=popupMenu.getClass().getDeclaredField("mPopup"); mFieldPopup.setAccessible(true); MenuPopupHelper mPopup = (MenuPopupHelper) mFieldPopup.get(popupMenu); mPopup.setForceShowIcon(true); } catch (Exception e) { } }