[英]How to show an icon to indicate a submenu on a MenuItem 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
出現在流派MenuItem中? 我知道這是Google的設計決定,但是現在要指出menutItem有子菜單的正確方法是什么?
我認為您必須在商品標簽中設置此屬性:
android:showAsAction="always" //this will force to show menu item
我通過修改此答案中的解決方案找到了解決此問題的方法: 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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.