簡體   English   中英

android Menu圖標未顯示

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM