我有一个带有以下菜单的操作栏:
<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”将起作用,否则将仅放置图标!您正在使用大量带有文本的项目,可能您没有空间。因此,您将仅看到该图标。
如果将应用程序旋转到横向,则可以进行检查。