菜单不膨胀

时间:2016-05-19 02:38:51

标签: android menu

我正在试图给Android菜单充气,但我没有给它充气:

这是我的menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/itemPrefs"
        android:background="#f000"
        android:title="@string/titlePrefs"
        android:icon="@drawable/ic_menu_black_24dp">
    </item>
</menu>

这是我为我的主要活动充气的地方:

@Override public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }

我正在使用LG G3并且菜单没有显示: - (

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

<a href="">

答案 1 :(得分:1)

如果您正在使用活动,则对于显示菜单,您需要在菜单项中使用app:showAsAction ="always"属性作为

的写入菜单标题
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools">
     <item
         android:id="@+id/action_cart"
         android:icon="@drawable/cart"
         android:orderInCategory="100"
         android:title="@string/abc_search_hint"
         app:showAsAction="always" />
</menu>

如果您正在使用Fragment,则需要设置属性setHasOptionMenu(true)以使选项菜单项可见

否则替代解决方案是动态添加项目,这肯定会起作用。

        menu.add(Menu.NONE,0,Menu.NONE,"")
            .setTitle(getString(R.string.rating))
            .setIcon(R.drawable.cart)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

答案 2 :(得分:0)

嗨谢谢您的回答,显然,我的菜单设置在操作栏中并隐藏起来。 为了强制显示菜单,我修改了res / values / styles.xml,如下所示:

RES /值/ styles.xml

<resources>
    <style name="AppBaseTheme" parent="android:Theme.Light"></style>
        <style name="AppTheme" parent="AppBaseTheme"> </style>
</resources>

和res / values / styles.xml(v21)

<resources>
     <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>
</resources>

然后一切顺利。