将拆分的ActionBar显示两倍的图标

时间:2012-04-17 22:01:59

标签: android android-actionbar actionbarsherlock

我希望将应用布局设置为他们用于Gmail的应用布局。他们有带有图标的操作栏(在我的设备上它有用于向上导航的应用徽标,以及用于选择优先收件箱/收件箱/等的自定义视图),但也有某种分割ActionBar因为在我有几个图标(撰写,搜索,标签等)。

我怎么能这样做?我已通过此XML实现了以下ActionBar

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_gps"
        android:icon="@drawable/icone_gps_continu"
        android:showAsAction="always"
        android:title="@string/menu_gps"/>
    <item
        android:id="@+id/menu_sort"
        android:icon="@drawable/icone_liste_chron"
        android:showAsAction="always"
        android:title="@string/menu_liste"/>
    <item
        android:id="@+id/menu_stats"
        android:icon="@drawable/icone_statistiques"
        android:showAsAction="always"
        android:title="@string/menu_stats"/>
    <item
        android:id="@+id/menu_save"
        android:icon="@drawable/icone_terminersortie"
        android:showAsAction="always"
        android:title="@string/menu_save"/>
    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_launcher"
        android:showAsAction="always"
        android:title="@string/menu_search"/>
    <item
        android:id="@+id/menu_photo"
        android:icon="@drawable/icone_enregistrerphoto"
        android:showAsAction="always"
        android:title="@string/menu_photo">
    </item>
    <item
        android:id="@+id/menu_sound"
        android:icon="@drawable/icone_enregistrerson"
        android:showAsAction="always"
        android:title="@string/menu_sound">
    </item>
    <item
        android:id="@+id/menu_settings"
        android:icon="@drawable/icone_parametres"
        android:showAsAction="always"
        android:title="@string/menu_settings">
    </item>

</menu>

我当然通过将ActionBar添加到清单中的android:uiOptions="splitActionBarWhenNarrow"标记来启用拆分<application>

我得到的是一个空的&#34;顶部&#34; ActionBar;而底部只显示三个图标。我想我可以在portait模式下在顶部显示3-4个图标,在底部显示5个图标,并且在横向模式下它们都显示在顶部。

注意:即使我使用Galaxy Nexus测试ICS,我也使用ActionBarSherlock来提供向后兼容性。

2 个答案:

答案 0 :(得分:10)

看起来我发布的速度太快了,似乎不太可能。

重复:

显然这是不可能的。然而他们在gmail / gplus中做到了,可能使用底部的自定义视图......仍然期待更好的答案!

Reto Meier's word就此:

  

我认为在顶部和底部之间拆分操作的问题是它会使执行操作变得更加困难。动作应该是活动中最重要的事情 - 在屏幕的顶部和底部之间分割它们意味着用户需要查看两个地方而不是一个地方。

答案 1 :(得分:6)

我也想知道这些应用程序如何在两个栏中都有图标,所以我反编译其中两个。

我发现这两个应用根本没有实现ActionBar ,并且两个栏都使用自定义布局。我不确定我是否可以在这里命名这些应用程序,但它们是具有10M +下载量的知名应用程序。

如果你不喜欢默认的ActionBar(它没有很大的自定义空间)并且创建自定义布局(我不需要两个栏,这取决于你的需要)我强烈建议你采用相同的方式)。

重现分割操作栏布局非常容易。无论设备是什么,它的高度始终为48dp,因此具有固定高度的简单LinearLayoutRelativeLayout和一些透明图像按钮非常有效。只需15分钟,您就可以获得完全可自定义的分割操作栏。