添加依赖
compile 'q.rorbin:VerticalTabLayout:1.2.5'
XML布局
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: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;//设置选中后背景
}
});