未显示ListActivity中的拆分操作栏/未显示ListActivity中的ActionBar图标

时间:2014-11-07 17:59:04

标签: android android-layout android-actionbar

在我的Android应用程序中,我有一些活动扩展了ListActivity。我想要的是在那些扩展的活动中将ActionBar和/或图标放在我的ActionBar中。 目前它做了很多工作。 ListActivities中的项目只显示在onCreateOptionsMenu(三个点)中。我刚刚为测试创建了一个简单的布局,并修改了我的清单文件。

布局:

<?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/new_game"
      android:title="t1"
      android:icon="@drawable/abc_ic_search"
      app:showAsAction="ifRoom|withText"/>
<item android:id="@+id/help"
      android:title="t2"
      android:icon="@drawable/abc_ic_search"
      app:showAsAction="ifRoom|withText" />
    <item android:id="@+id/help2"
      android:title="t2"
      android:icon="@drawable/abc_ic_search"
      app:showAsAction="ifRoom|withText" />
        <item android:id="@+id/help3"
            android:icon="@drawable/abc_ic_search"
      android:title="t2"
      app:showAsAction="ifRoom|withText" />

在我的清单中,我尝试将以下内容添加到应用程序标记或仅添加到ListActivites。

        <meta-data android:name="android.support.UI_OPTIONS"
               android:value="splitActionBarWhenNarrow" />

在扩展ActionBarActivity的活动中,一切都正常运行。我错过了ListActivities的东西吗?有没有人有想法?

帮助会很棒!感谢

2 个答案:

答案 0 :(得分:0)

尝试删除app:showAsAction="ifRoom|withText"或将其更改为app:showAsAction="always

看看this lik

ifRoom :只有在有空间的情况下才将此项目放在操作栏中。

withText :还包含带有操作项的标题文本(由android:title定义)。您可以将此值与其他一个值一起作为标志集包含在内,方法是将它们与管道分开。

从不:切勿将此项目放在操作栏中。

始终:始终将此项目放在操作栏中。避免使用此项,除非项目始终出现在操作栏中至关重要。将多个项目设置为始终显示为操作项可能会导致它们与操作栏中的其他UI重叠。

答案 1 :(得分:0)

好吧我想我弄清楚为什么它会显示splitactionbar。除了元标记,您还需要为ListActivity设置属性uiOptions +使用android命名空间。

android:showAsAction="always"    
android:uiOptions="splitActionBarWhenNarrow"

此选项仅用于API级别14及更高级别。对于迄今为止我还没有想法的版本来解决这个问题。