我知道这里发布的答案:
icon in menu not showing in android
然而,问题仍然存在:Google如何让我指出MenuItem有更多'更多'当显示带有如下子菜单的弹出菜单时:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:title="Genres" android:icon="@android:drawable/ic_menu_more">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/genredrama" android:title="Drama" />
<item android:id="@+id/genrefamily" android:title="Family" />
<item android:id="@+id/genrehorror" android:title="Horror" />
</menu>
</item>
<item android:title="All" />
<item android:title="Top Picks" />
<item android:title="Best" />
</menu>
如何制作图标:
ic_menu_more
出现在Genres MenuItem中?我知道这是谷歌的设计决定,但是现在用什么方法表明menutItem有一个子菜单?
答案 0 :(得分:0)
我认为您必须在商品标记中设置此属性:
android:showAsAction="always" //this will force to show menu item
答案 1 :(得分:0)
我通过修改此答案中的解决方案找到了解决此问题的方法: https://stackoverflow.com/a/22668665/3612509
以下代码根据需要显示“流派”菜单旁边的图标:
PopupMenu popupMenu = new PopupMenu(this, view);
popupMenu.inflate(R.menu.menu_movies);
try{
Method m = popupMenu.getMenu().getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(popupMenu.getMenu(), true);
}
catch(NoSuchMethodException e){
Log.e("DEMO", "onMenuOpened", e);
}
catch(Exception e){
throw new RuntimeException(e);
}