Android VerticalTabLayout纵向的tablayout

添加依赖

compile 'q.rorbin:VerticalTabLayout:1.2.5'

XML布局


    <android:id="@+id/tab"

    android:layout_width="@dimen/dp_100"

    android:layout_height="match_parent"

    app:indicator_width="@dimen/dp_2"

    app:layout_constraintLeft_toLeftOf="parent"

    app:layout_constraintTop_toTopOf="parent"

    app:tab_height="@dimen/dp_50"

    app:tab_mode="scrollable" />

    <android:id="@+id/viewpager"

    android:layout_width="0dp"

    android:layout_height="0dp"

    app:layout_constraintLeft_toRightOf="@id/tab"

    app:layout_constraintRight_toRightOf="parent"

    app:layout_constraintTop_toTopOf="parent"

    app:layout_constraintBottom_toBottomOf="parent"

    />

viewpager内部适配器


viewpager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {

@NonNull

@Override

    public Fragment getItem(int position) {

              return list.get(position);

         }

@Override

    public int getCount() {

             return list.size();

           }

      });

verticatablayout和viewpager绑定添加适配器


tab.setupWithViewPager(viewpager);//绑定

tab.setTabAdapter(new TabAdapter() {//添加适配器

@Override

    public int getCount() {

return categoryList.size();

}

@Override

    public ITabView.TabBadge getBadge(int position) {

return null;

}

@Override

    public ITabView.TabIcon getIcon(int position) {

return null;

}

@Override

    public ITabView.TabTitle getTitle(int position) {

QTabView.TabTitle title =new QTabView.TabTitle.Builder()

.setContent(categoryList.get(position).getName())//设置数据  也有设置字体颜色的方法

                .build();

return title;

}

@Override

    public int getBackground(int position) {

return 0;//设置选中后背景

    }

});


推荐阅读更多精彩内容