2

我有一个不错的带有三个选项卡的 ActionBarSherlock 设置。左右选项卡设置为图标,中间是自定义布局。

在纵向模式下,这看起来很棒。选项卡在操作栏中很好地居中,一切都很好: 在此处输入图像描述

但是,在横向模式下,选项卡会向左刷新: 在此处输入图像描述

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

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。

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

4

1 回答 1

0

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

于 2013-09-16T03:06:15.330 回答