android - 菜单栏中未显示的菜单项

标签 android xml android-studio

我遇到了多次发布的相同问题like herehere .我定义了一个菜单项,它显示在 AndroidStudio 的预览中:

enter image description here

但是当我在手机上运行该应用程序时,图标(png 图像)不可见,并且有很多可用空间。但是,此“添加”选项显示在“选项”菜单中(在最右边;与“Srttings”一起)。这是我的 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/action_favourite"
        android:icon="@mipmap/ic_add"
        android:title="@string/menu_add"
        android:showAsAction="always"/>


    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />

</menu>

我尝试了我能找到的建议,但没有一个能解决我的问题。我的手机是 LG G3。我该如何解决这个问题?

附加信息:onCreateOptionsMenu

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

最佳答案

只需使用 app:showAsAction="always"xmlns:app="http://schemas.android.com/apk/res-auto" 然后它会显示。

<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/action_favourite"
        android:icon="@mipmap/ic_add"
        android:title="@string/menu_add"
        app:showAsAction="always"/>


    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />

</menu>

您可能正在使用依赖于应用命名空间的支持库。如果有疑问,只需添加相同的属性两次(android:app: 命名空间)。

关于android - 菜单栏中未显示的菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33369695/

相关文章:

java - Android 写入大文件时出现 OutofMemory 错误

相当于 Matrix.mapPoints() 的 Android OpenGL

jquery - 比较两大组属性

c# - String.format 无效

android - 相机 Intent 在 Android 11 API 30 中不起作用

android - Gradle 3.0.0 从 gradle-experimental 升级 :0. 9.3 错误

java - Android Studio 2.1.2 - 错误 :cannot resolve method setText(java. lang.string)

java - 使用 JiBX (Un) 编码转义特殊字符

android-studio - 当我在设备上运行Flutter App时出现错误

java - 抓取图片在ImageView上显示,并保存在不同序列号的SD卡中