我有一个带有以下菜单的操作栏:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     tools:context="br.com.putzbati2.PrincipalActivity" >
    <item android:id="@+id/action_mensagem"
        android:title="Mensagem"
        android:icon="@drawable/barra_superior_envelope"
        android:showAsAction="always|withText" />
    <item android:id="@+id/action_carro"
        android:icon="@drawable/barra_superior_carro"
        app:showAsAction="always"
        android:title="Meus Carros"/>
    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never" />
</menu>


但是withText不起作用。它仅显示图标。
我已经尝试使用android:showAsAction代替app:showAsAction,当我这样做时,它既不显示图标也不显示文本。有人知道如何帮助我吗?

我找到了这个解决方案,但是正如我所说,它对我不起作用
app:showAsAction ifRoom is not working on appcompat action bar

最佳答案

您可以这样使用:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/action_mensagem"
          android:title="@string/id_item_mensagem"
          android:icon="@drawable/id_item_mensagem"
          android:showAsAction="always|withText" />
    <!-- ... another items -->
</menu>


如果空间足够,“ always | withText”将起作用,否则将仅放置图标!您正在使用大量带有文本的项目,可能您没有空间。因此,您将仅看到该图标。

如果将应用程序旋转到横向,则可以进行检查。

07-24 09:46