1依赖 implementation ‘q.rorbin:VerticalTabLayout:1.2.5’
2布局
<q.rorbin.verticaltablayout.VerticalTabLayout
android:id="@+id/tab"
android:layout_below="@id/classifc_too"
android:layout_width="@dimen/dp_80"
android:layout_height=“450dp”>
</q.rorbin.verticaltablayout.VerticalTabLayout>
<androidx.viewpager.widget.ViewPager
android:layout_below="@id/classifc_too"
android:layout_toRightOf="@id/tab"
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
3布局代码
package com.example.mall.framenters.classifc;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import com.example.mall.R;
import com.example.mall.adter.FragmentAdater;
import com.example.mall.adter.home.FragmentsAdater;
import com.example.mall.base.BaseFragment;
import com.example.mall.bean.ClassifcBean;
import com.example.mall.interfse.Ihome;
import com.example.mall.preasenter.home.ClassIfcPersenter;
import java.util.ArrayList;
import java.util.List;
import q.rorbin.verticaltablayout.VerticalTabLayout;
public class ClassifcFragment extends BaseFragment<Ihome.classpreatenter> implements Ihome.classview {
private VerticalTabLayout tab;
private ViewPager vp;
private List<ClassifcBean.DataBean.CategoryListBean> categoryList;
@Override
protected int getLayout() {
return R.layout.fragment_classifc;
}
@Override
protected void initView() {
tab=getActivity().findViewById(R.id.tab);
vp=getActivity().findViewById(R.id.vp);
}
@Override
protected Ihome.classpreatenter getPresenter() {
return new ClassIfcPersenter();
}
@Override
protected void initData() {
presenter.onclassifc();
}
@Override
public void getclassifc(ClassifcBean classifcBean) {
categoryList = classifcBean.getData().getCategoryList();
final List<String> tabName = new ArrayList<>();
final List<Fragment> fragments = new ArrayList<>();
if (categoryList!=null){
for (int i = 0; i < categoryList.size(); i++) {
fragments.add(new CategoryTabFragment(categoryList.get(i).getId()));
tabName.add(categoryList.get(i).getName());
}
FragmentsAdater fragTabAdapter = new FragmentsAdater(getChildFragmentManager(), fragments,
tabName);
vp.setAdapter(fragTabAdapter);
tab.setupWithViewPager(vp);
}
}
}
效果图