无法在Android应用中的图标上显示要显示在溢出菜单上的

时间:2019-05-08 00:07:47

标签: android icons overflow-menu

无论我做什么,android中的溢出菜单拒绝显示菜单图标,它显示标题但不显示图标,如果我将项目放在ifRoom中或始终将其仅显示在操作栏上一个图标状态,但不在溢出菜单本身中。我使用的是Activity状态而不是appcompatActivity状态,因此无法更改,因为这将迫使我从一开始就重写整个应用程序,这是不可行的。那我该怎么办?菜单的代码示例在第一项上包含一个图标,但是如果我将图标添加到其他项,则结果相同。

我试图将项目状态从ifRoom更改为Allways,从不更改为With Text,甚至更改为仅带图标的空白标题,我什至尝试使用Java代码将项目与图标连接,但是在操作中不包含图标栏本身没有其他图标出现

<item
    android:id="@+id/info_menu_item"
    android:icon="@android:drawable/ic_menu_help"
    android:showAsAction="never"
    android:title="@string/how_to_use"
    android:visible="true"
    tools:ignore="AppCompatResource" />

预期结果应该是带有标题和图标的溢出菜单中菜单项的外观,但实际结果是没有图标的标题。

1 个答案:

答案 0 :(得分:0)

是的,你可以!诀窍是用这样的子菜单替换溢出菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:icon="@drawable/ic_baseline_more_vert_24"
        android:title=""
        app:showAsAction="always">

        <menu>
            <item
                android:id="@+id/action_download"
                android:icon="@drawable/ic_save_white_24dp"
                android:orderInCategory="101"
                android:title="@string/download_playlist"
                app:showAsAction="never" />

            <item ... />

            <item ... />

        </menu>

    </item>

</menu>

显示在子菜单中的项目没有隐藏其图标。所以我们使用子菜单而不是溢出菜单!

此处提供简短而甜蜜的教程:https://www.codingdemos.com/android-options-menu-icon/