【问题标题】:How to show icon in toolbar instead of text如何在工具栏中显示图标而不是文本
【发布时间】:2020-06-05 09:32:24
【问题描述】:

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

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 android-actionbar android-menu android-icons


    【解决方案1】:

    你必须使用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>
    

    【讨论】:

      【解决方案2】:

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

      <?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>
      

      希望对你有帮助。

      【讨论】:

        【解决方案3】:

        有点晚了,但是 tools 属性通常用于在你的 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>
        

        希望对你有帮助!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-01-01
          • 1970-01-01
          • 2015-01-03
          • 2023-03-14
          • 2022-01-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多