在ActionBarSherlock中居中选项卡

时间:2013-09-05 14:44:27

标签: android android-layout actionbarsherlock

我有一个很好的ActionBarSherlock设置,有三个标签。左侧和右侧标签设置为图标,中间标签是自定义布局。

在纵向模式下,这看起来很棒。选项卡很好地集中在操作栏中,并且与世界完美结合: enter image description here

但是,在横向模式下,标签会向左刷新: enter image description here

以下是我设置标签的方式:

Tab leftTab = mActionBar.newTab().setIcon(R.drawable.ic_action_login_black).setTabListener(tabListener);
mActionBar.addTab(leftTab);

Tab centerTab = mActionBar.newTab().setCustomView(R.layout.actionbar_logo).setTabListener(tabListener);
centerView = (RelativeLayout) centerTab.getCustomView();
mActionBar.addTab(centerTab, true);

Tab rightTab = mActionBar.newTab().setIcon(R.drawable.ic_action_video_black).setTabListener(tabListener);
mActionBar.addTab(rightTab);

这是我在中心选项卡中的自定​​义视图的XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:clickable="false"
    android:focusable="false"
    android:focusableInTouchMode="false" >

    <ImageView
        android:id="@+id/my_logo"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/my_logo" />

</RelativeLayout>

如果重要,我正在使用minSdkVersion = 15。

我希望标签居中,就像它们处于纵向模式一样。这可能吗?

1 个答案:

答案 0 :(得分:0)

在RelativeLayout的根目录中使用android:layout_gravity =“fill_horizo​​ntal”。这将导致相对布局实际扩展以填充操作栏,从而导致所有内容正确布局。