显示菜单栏,但我的图标没有显示在我的布局顶部。
菜单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
感谢任何帮助。
答案 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框架。所以你必须使用自己的命名空间 作为支持库定义的所有属性的前缀。