【问题标题】: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>
希望对你有帮助!