我正在使用ActionBarActivity
和NavigationDrawer
,并希望在每个Fragment
中设置自定义菜单。
fragment1中的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:sabd="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:orderInCategory="100"
android:title="@string/action_search"
sabd:showAsAction="ifRoom"/>
<item android:id="@+id/action_map"
android:icon="@drawable/ic_marker"
android:showAsAction="ifRoom" android:title="@null"/>
</menu>
fragment2中的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:sabd="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
android:orderInCategory="100"
android:title="@string/action_search"
sabd:showAsAction="ifRoom"/>
<item android:id="@+id/action_list"
android:icon="@drawable/ic_action_list"
android:showAsAction="ifRoom"
android:title="@null"/>
</menu>
我将setHasOptionsMenu(true);
放入两个片段的onCreate
方法中。
尽管如此,我使用自定义drawables作为菜单的第二项,我仍然得到相同的标准菜单图标。
AndroidManifest:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:icon="@android:color/transparent"
android:theme="@style/CustomActionBarStyle">
</activity>
风格:
<style name="CustomActionBarStyle" parent="@style/Theme.AppCompat.Light">
<item name="android:displayOptions">useLogo|showHome</item>
</style>
因此,菜单设置正确,但使用旧图标。可能是什么原因?
答案 0 :(得分:0)
我通过替换
解决了这个问题 android:showAsAction="ifRoom"
通过
sabd:showAsAction="ifRoom"/>