菜单栏图标未显示Eclipse Android

时间:2015-03-24 04:01:38

标签: android eclipse select menu menubar

显示菜单栏,但我的图标没有显示在我的布局顶部。

菜单xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<!-- Search, should appear as action button -->
<item android:id="@+id/action_write"
      android:icon="@drawable/ic_action_refresh"
      android:title="@string/action_write"
      android:showAsAction="ifRoom" />

<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_read"
      android:title="@string/action_read"
      android:showAsAction="never" />
</menu>

显示菜单:

    public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.my_menu, menu);

    return super.onCreateOptionsMenu(menu);
}   

我在Galaxy Note 3上使用4.4.2。我尝试了很多东西但没有任何效果(6小时)。我正在使用appcompat_v7。

扩展:

public class myActivity extends ActionBarActivity 

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您必须使用自己的命名空间作为支持库定义的所有属性的前缀。

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

<!-- Search, should appear as action button -->
<item android:id="@+id/action_write"
      android:icon="@drawable/ic_action_refresh"
      android:title="@string/action_write"
      yourapp:showAsAction="ifRoom" />

<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_read"
      android:title="@string/action_read"
      yourapp:showAsAction="never" />
</menu>

Android开发者网站的示例:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          yourapp:showAsAction="ifRoom"  />
    ...
</menu>
  

使用支持库中的XML属性请注意   上面的showAsAction属性使用在中定义的自定义命名空间    标签。使用任何定义的XML属性时,这是必需的   支持库,因为这些属性不存在   旧设备上的Android框架。所以你必须使用自己的命名空间   作为支持库定义的所有属性的前缀。

http://developer.android.com/guide/topics/ui/actionbar.html