如何将操作栏选项卡对齐到右侧?

时间:2011-11-15 13:03:53

标签: android

我以编程方式添加了操作栏标签。我不知道如何将操作栏标签对齐到右边。

ActionBar bar = getActionBar();
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // instantiate tabs
        ActionBar.Tab pageTab= bar.newTab().setText(getString(R.string.page))
                .setIcon(R.drawable.ic_page);
bar.addTab(pageTab);

        // other settings
        bar.setDisplayOptions(ActionBar.DISPLAY_USE_LOGO | ActionBar.DISPLAY_SHOW_TITLE);
        bar.setDisplayShowHomeEnabled(true);

        // remove the activity title to make space for tabs
        bar.setDisplayShowTitleEnabled(false);

3 个答案:

答案 0 :(得分:3)

操作栏标签显示在左侧。右侧用于您的选项菜单以及您宣传为工具栏按钮的任何项目。

答案 1 :(得分:2)

自原始问题以来已经有一段时间了,但是......由于活动的视觉外观,我需要针对同一问题的解决方案。事实证明,如果您在标题或副标题中附加空格,则标签将向右移动,因此您可以这样做:

bar.setTitle("Some titile\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t");

这将移动整个标签栏以容纳空白区域。我必须说这不是一个优雅的解决方案,但是如果您在操作栏中没有任何操作。 (我没有检查当行动存在时会发生什么。)

答案 2 :(得分:-1)

我能够通过自定义我的应用程序主题来正确对齐操作栏

在我的AndroidManifest.xml中,我添加了一个android:theme属性:

<application
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/CustomActionBarTheme">
  ...

然后我在我的项目中添加了一个新的themes.xml文件,并添加了:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarTabBarStyle">@style/MyActionBarTabBar</item>
    </style>

    <style name="MyActionBarTabBar">
        <item name="android:gravity">right</item>
    </style>
</resources>

标签现在应该是右对齐的。

编辑: 仅当您的操作栏显示在2行(纵向)

时才有效