选项卡布局仅修复5个选项卡,其他可滚动?

时间:2016-02-18 11:04:01

标签: android android-tablayout

我已经使用viewPager实现了tabLayout。我的要求是只在设备宽度上修复5个标签,如果超过5个,则第6个标签应该是可滚动的。

我尝试使用tabModes作为固定,tabMode作为可滚动,我也尝试操纵宽度,但没有运气。

PagerTabStrip宽度应该随之修改。

任何形式的帮助或建议都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

您可以使用 PagerTabStrip

  

PagerTabStrip是当前,下一个和当前的交互式指标   ViewPager的前几页。它旨在用作儿童   查看XML布局中的ViewPager小部件。

请检查演示 PagerSlidingTabStrip

答案 1 :(得分:-1)

下载这两个文件将其复制到您的项目中

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabLayout.java

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/widget/SlidingTabStrip.java

然后尝试这样的事情

 ViewPager pager= (ViewPager) findViewById(R.id.pager);//your pager id
  SlidingTabLayout slidingTabLayout= (SlidingTabLayout) findViewById(R.id.sliding_tab);
        TabsPagerAdapter tabsPagerAdapter=new TabsPagerAdapter(getSupportFragmentManager());

        pager.setAdapter(tabsPagerAdapter);
        slidingTabLayout.setDistributeEvenly(true);
        slidingTabLayout.setViewPager(pager); 

并且您的xml文件将是这样的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent" android:layout_width="match_parent">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar"
        android:background="@color/primary"
        android:minHeight="?attr/actionBarSize">
    </android.support.v7.widget.Toolbar>


    <com.example.SlidingTabLayout
        android:layout_below="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/sliding_tab">



    </com.example.SlidingTabLayout>


    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_below="@+id/sliding_tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    </android.support.v4.view.ViewPager>
</RelativeLayout>