Android:compat:showAsAction =" always | withText"不工作

时间:2015-01-04 13:27:15

标签: android android-appcompat

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:compat="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_chat"
        android:icon="@drawable/ico_enter_chat"
        android:title="Enter Chat"
        compat:showAsAction="always|withText" />

    <item android:id="@+id/action_map"
        android:icon="@drawable/ico_map"
        android:title="Users Map"
        compat:showAsAction="always"    />
    <item android:id="@+id/action_logout"
        android:icon="@drawable/ico_log_out"
        android:title="Log Out"
        compat:showAsAction="always"  />



</menu>

这是我的菜单XML文件,理论上它应该显示两个图标作为单个图标和第一个带标题的图标。

但是,在应用程序中它不显示标题,这里是screencap: enter image description here

那为什么不显示“标题”?

4 个答案:

答案 0 :(得分:3)

Android系统认为没有足够的空间来完全显示菜单项的标题,因此它隐藏了标题(虽然可能有足够的空间,但Android并不这么认为。)如果你变成了风景或者在平板电脑上运行应用程序,标题会显示出来。

  

这声明当操作栏中的空间可用时,搜索操作应显示为操作按钮,但“设置”操作应始终显示在溢出中。 (默认情况下,所有操作都出现在溢出中,但最好明确声明每个操作的设计意图。)

https://developer.android.com/training/basics/actionbar/adding-buttons.html

答案 1 :(得分:3)

来源: http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems

如果您的菜单项同时提供标题和图标 - 标题和图标属性 - 则操作项默认仅显示图标。

如果要显示文字标题,请添加&#34; withText&#34; showAsAction属性。

注意: &#34; withText&#34; value是文本标题应显示的操作栏的提示。 操作栏会尽可能显示标题,但如果图标可用且操作栏受空间限制,则可能不显示。

答案 2 :(得分:0)

这对我有用

app:showAsAction="ifRoom|withText"

答案 3 :(得分:0)

appcompat_v7&gt;值&gt; config.xml中

<bool name="abc_config_allowActionMenuItemTextWithIcon">false</bool>

变化

<bool name="abc_config_allowActionMenuItemTextWithIcon">true</bool>