【问题标题】:Why OptionsMenu is not Showing Image?为什么 OptionsMenu 不显示图像?
【发布时间】:2016-03-01 08:52:59
【问题描述】:

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);

非常感谢您在此问题上的时间和帮助。

【问题讨论】:

  • 任何人都可以帮助我。请

标签: android menuitem


【解决方案1】:

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

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

menu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);

欲了解更多信息,请阅读this

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      给你..

      1. 在您的绘图文件夹下添加 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.在您的 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. 我们正在手动添加图标。所以要小心添加图标。

      这是你想要的吗?

      输出看起来像..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-22
        • 2015-12-08
        • 2014-07-15
        • 1970-01-01
        • 2022-12-14
        • 2012-07-26
        • 2012-10-26
        • 2015-05-04
        相关资源
        最近更新 更多