1

无论我做什么,android中的溢出菜单都拒绝显示菜单图标,它显示标题但不显示图标,如果我将项目置于ifRoom或始终状态但不显示,它只会在操作栏本身上显示一个图标在溢出菜单本身。我使用的是 Activity 状态而不是 appcompatActivity 状态,并且无法更改它,因为这将迫使我从头开始重写整个应用程序,这不是一个选项。那么我能做什么呢?菜单的代码示例在第一项上包含一个图标,但如果我将图标添加到其他项,结果相同。

我曾尝试将项目状态从 ifRoom 更改为 Allways 再从 Never 更改为 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" />

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

4

1 回答 1

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/

于 2021-01-30T17:09:57.883 回答