PagerTabStrip - 使标签居中,或使它们合适

时间:2014-12-03 20:47:25

标签: android android-viewpager

我正在使用此库https://github.com/astuetz/PagerSlidingTabStrip来创建PagerTabStrip。

我的输出enter image description here

你可以看到我的标签后面有一些空白空间。 我想让选项卡适合所有屏幕,或者至少使选项卡居中。 这可能吗?

<com.astuetz.PagerSlidingTabStrip
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:background="@color/facebook_theme_light"
        android:id="@+id/activity_posts_tabs"
        android:layout_width="match_parent"
        android:layout_height="48dip" />

    <android.support.v4.view.ViewPager
        android:background="@color/facebook_theme_dark"
        android:id="@+id/activity_posts_pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/activity_posts_tabs"
        tools:context=".MainActivity" />

2 个答案:

答案 0 :(得分:6)

寻找解决方案,并且已经在库中内置了一个,只需使用:

psts:pstsShouldExpand="true"

并且标签将在布局中展开并居中。

答案 1 :(得分:1)

这应该是一个评论,但当我试图把它放在评论表中时它看起来很疯狂所以你走了:

如果你转到the sample xml for the library you provided

你会发现xml有视图 -

 <com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="62dip"
    android:layout_below="@+id/image"
    android:background="@drawable/background_tabs_diagonal"
    app:pstsDividerColor="#00000000"
    app:pstsIndicatorColor="#FF33B5E6"
    app:pstsTabPaddingLeftRight="14dip"
    app:pstsUnderlineColor="#FF33B5E6" />

宽度为"match_parent"。您需要在应用中执行的操作是将此等效项更改为"wrap_content"并添加android:layout_gravity="center_horizontal" ....或其他内容,因为我尚未对其进行测试。

修改

您也可以尝试将其包装在容器中

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/tabs"
        android:layout_width="wrap_content"
        android:layout_height="62dip"
        android:layout_below="@+id/image"
        android:layout_centerInParent="true"
        android:background="@drawable/background_tabs_diagonal"
        app:pstsDividerColor="#00000000"
        app:pstsIndicatorColor="#FF33B5E6"
        app:pstsTabPaddingLeftRight="14dip"
        app:pstsUnderlineColor="#FF33B5E6" />

</RelativeLayout>