如何在工具栏中显示图标而不是文本

How to show icon in toolbar instead of text

我正在尝试使用以下菜单在工具栏中显示一些图标,但在输出中显示的不是图标,而是文本。如何显示图标而不是文本

menu.xml

<?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto">
        <item
            android:id="@+id/toEditName"
            android:title="@string/buttonEditName"
            app:showAsAction="ifRoom"
            tools:icon="@drawable/ic_edit_name" />
        <item
            android:id="@+id/toHistory"
            android:title="@string/buttonHistory"
            app:showAsAction="ifRoom"
            tools:icon="@drawable/ic_history" />
    </menu>

Preview Image

Actual Output Image

你必须使用 android:icon 属性而不是 tools:icon 试试这个

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/toEditName"
        android:title="@string/buttonEditName"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_edit_name" />
    <item
        android:id="@+id/toHistory"
        android:title="@string/buttonHistory"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_history" />
</menu>

您的图标未显示,因为您使用的是工具属性,当您在 android 工作室工作时会显示该图标。如果您 运行 应用程序,则不会显示图标。

<?xml version="1.0" encoding="utf-8"?>
     <menu xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto">
         <item
             android:id="@+id/toEditName"
             android:icon="@drawable/ic_edit_name"
             android:title="@string/buttonEditName"
             app:showAsAction="ifRoom" />
         <item
             android:id="@+id/toHistory"
             android:icon="@drawable/ic_history"
             android:title="@string/buttonHistory"
             app:showAsAction="ifRoom" />
      </menu>

希望对您有所帮助。

有点晚了,但工具属性通常用于在 Android Studio xml 预览中显示某些内容。这就是为什么你的图标没有显示。

<?xml version="1.0" encoding="utf-8"?>
<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <item
        android:id="@+id/multi_select_reply"
        android:title="@string/reply"
        android:icon="@drawable/ic_reply_svg"   <--- change tools:icon to android:icon
        android:iconTint="@color/colorWhite"
        app:showAsAction="ifRoom"/>

</menu>

希望对你有所帮助!