我尝试在我的android中应用操作栏,我将一个菜单xml从另一个应用程序复制到当前应用程序(/res/layout/menu/actionbarmenu.xml)
这是代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/media_play"
android:icon="@android:drawable/ic_media_play"
android:title="@string/media_play"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/media_pause"
android:icon="@android:drawable/ic_media_pause"
android:title="@string/media_pause"
android:showAsAction="ifRoom|withText"/>
<item android:id="@+id/media_previous"
android:icon="@android:drawable/ic_media_previous"
android:title="@string/media_previous"
android:showAsAction="ifRoom" />
<item android:id="@+id/media_next"
android:icon="@android:drawable/ic_media_next"
android:title="@string/media_next"
android:showAsAction="ifRoom">
</item>
</menu>
在每一行&#34; ifRoom | withText&#34;中,会出现一个红色下划线并带有黄色框:
Should use app:showAsAction with the appcompat library with
xmlns:app="http://schemas.android.com/apk/res/auto"
任何人都知道这是什么问题?
答案 0 :(得分:2)
您应该将app namespace用作appcompat的一部分菜单。
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/auto">
<item android:id="@+id/media_play"
android:icon="@android:drawable/ic_media_play"
android:title="@string/media_play"
app:showAsAction="ifRoom|withText"/>
<item android:id="@+id/media_pause"
android:icon="@android:drawable/ic_media_pause"
android:title="@string/media_pause"
app:showAsAction="ifRoom|withText"/>
<item android:id="@+id/media_previous"
android:icon="@android:drawable/ic_media_previous"
android:title="@string/media_previous"
app:showAsAction="ifRoom" />
<item android:id="@+id/media_next"
android:icon="@android:drawable/ic_media_next"
android:title="@string/media_next"
app:showAsAction="ifRoom">
</item> </menu>
答案 1 :(得分:1)
API 11中添加了android:showAsAction
,您的应用可能降低了最低API级别。您可以使用AppCompat库来提供此参数及其所需的行为,但是,要提供必须在正确的XML命名空间中调用它的AppCompat参数。
命名空间包含在添加到根<menu>
标记
xmlns:app="http://schemas.android.com/apk/res/auto"
然后您可以将app:showAsAction
添加到<item>
代码