为什么OptionsMenu没有显示图片?

时间:2016-03-01 08:52:59

标签: android menuitem

OptionsMenu未显示图片,但子菜单显示图片。是否可以在OptionsMenu中显示图像。在以前的版本中,在OptionsMenu中显示图像。

v4.0,v4.2,v4.4等新版本不是在OptionsMenu中显示图片。

请帮帮我,我想在所有版本设备中显示图像。

这是我的代码:

MenuItem menu1 = menu.add(Menu.NONE, MENU1, 1, "Home");
menu1.setIcon(R.drawable.ic_launcher);
menu1.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);

MenuItem menu2 = menu.add(Menu.NONE, MENU2, 2, "Upload");
menu2.setIcon(R.drawable.ic_launcher);
menu2.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);

MenuItem menu3 = menu.add(Menu.NONE, MENU3, 3, "Log out");
menu3.setIcon(R.drawable.ic_launcher);
menu3.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);

非常感谢您在这件事上的时间和帮助。

3 个答案:

答案 0 :(得分:0)

因为菜单中的徽标仅适用于较旧的平台。目前,如果您在Android 3.0 +上运行,则无法在菜单项中显示图标。

您只能使用自定义操作栏在菜单中显示徽标,例如Sherlock Library

看看here,也许你会找到一些解决方法。

答案 1 :(得分:0)

在纵向模式下,它显示图标或文字。除非您的设备有足够的屏幕空间,否则无法同时显示两者。

此外,更改代码以允许显示文本和图标(如果可能)。

menu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);

有关详细信息,请阅读this

答案 2 :(得分:0)

你去..

  1. 在draw文件夹下添加menu.xml。使用下面的代码作为菜单标签。在这里,我使用了自己的图标,你可以用你的图标替换。

    <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" tools:context=".MainActivity">
    
        <item
            android:id="@+id/more"
            android:icon="@drawable/overflow"
            app:showAsAction="always|withText"
            android:title="More">
                <menu>
                        <item
                            android:id="@+id/next"
                            android:icon="@drawable/next"
                            app:showAsAction="always|withText"
                            android:title="Next">
                        </item>
                        <item
                            android:id = "@+id/prev"
                            android:icon="@drawable/prev"
                            app:showAsAction="always|withText"
                            android:title="Previous"/>
    
                </menu>
        </item>
    

  2. 2.在您的MainActivity.java旁边添加以下代码

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater menuInflater = getMenuInflater();
            menuInflater.inflate(R.menu.menu,menu);
           /* menu.add("Add Contacts");
            menu.getItem(0).setIcon(R.drawable.prev); */
            return super.onCreateOptionsMenu(menu);
        }
    
    1. 我们正在手动添加图标。所以要小心添加图标。
    2. 这是你想要的吗?

      输出看起来像..

      enter image description here