Android ActionBar项目,仅限文本

And*_*Dev 18 android

我想在只有文本的操作栏中放置一个项目.我正在使用ActionBarSherlock.我怎样才能做到这一点.一个是定义带有文本的图标.我不喜欢那样做.是否可以从我的字符串资源中获取文本项?

dor*_*uck 28

只是不要定义

android:icon
Run Code Online (Sandbox Code Playgroud)

该项目的menu.xml中的字段.

  • 这不起作用.文本未显示在操作栏中. (8认同)
  • 你必须把你的图标null:`code` <item android:id ="@ + id/your_menu_id"app:showAsAction ="always"android:icon ="@ null"android:title ="@ string/your_string"/ >`code` (2认同)

kev*_*bot 14

刚想出来,确保添加android:showAsAction ="always"

<item 
    android:id="@+id/menu_item"
    android:showAsAction="always"
    android:title="@string/menu_title" />
Run Code Online (Sandbox Code Playgroud)

  • 花了很多时间才能达到这个简单的解决方案. (3认同)
  • 请注意,如果使用AppCompat库,请使用```app:showAsAction =“ always”```而不是```android:showAsAction =“ always”``` (2认同)

bra*_*hy1 6

为了将来参考,我发现必须showAsActionhttp://schemas.android.com/apk/res/android命名空间和http://schemas.android.com/apk/res-auto命名空间中定义属性,以提供与不同Android版本的兼容性.因此,您的menu.xml文件应如下所示:

<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="net.taptools.android.sportshistory.PlayerProfileActivity" >
<item android:id="@+id/action_settings"
    android:title="Statistics"
    app:showAsAction="always"
    android:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)