[英]android Menu icon not showing
我無法使菜單圖標顯示在操作欄上。 我嘗試設置
android:showAsAction="always"
但即使那樣也不行。 在較早的項目中,我剛剛使用了
android:showAsAction="ifRoom|withText"
並且有效。 該項目的唯一不同之處在於,我使用gradle而不是ANT進行構建。 會有所作為嗎?
這是我的菜單xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/new_transaction"
android:icon="@drawable/ic_menu_add"
android:title="@string/new_transaction"
android:titleCondensed="@string/new_transaction_condensed"
android:showAsAction="always" />
</menu>
我將ic_menu_add.png的每個版本從android庫復制到了每個可繪制的文件夾中。
這是我的ActionBarActivity中的onCreateOptionsMenu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.account_pager, menu);
return true;
}
不管我嘗試什么,該圖標都不會顯示。 我嘗試更改最大和最小API級別,但無濟於事。 為了單擊菜單項,我必須轉到溢出菜單,然后單擊那里的下拉菜單項,這絕對不理想。 如何顯示圖標?
我的最低API級別是11,最高是20。如果有任何重要問題,我正在運行Android 4.1.2的HTC One上進行開發。 提前致謝。
嘗試這個:
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
try {
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
} catch (NoSuchMethodException e) {
Log.e("", "onMenuOpened", e);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
return super.onMenuOpened(featureId, menu);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.