@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
fragmentHomeBinding = DataBindingUtil.inflate(inflater,R.layout.fragment_home,container,false);
initData();
MyHomeAdapter adapter = new MyHomeAdapter(getActivity(),fragmentList);
fragmentHomeBinding.vp2Home.setAdapter(adapter);
fragmentHomeBinding.ctlHome.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelect(int position) {
}
@Override
public void onTabReselect(int position) {
fragmentHomeBinding.vp2Home.setCurrentItem(position);
}
});
fragmentHomeBinding.vp2Home.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
fragmentHomeBinding.ctlHome.setCurrentTab(position);
}
@Override
public void onPageScrollStateChanged(int state) {
super.onPageScrollStateChanged(state);
}
});
return fragmentHomeBinding.getRoot();
}
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data></data>
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
tools:context=".mvvm.fragment.HomeFragment">
<com.flyco.tablayout.CommonTabLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
app:tl_divider_width="@dimen/dp_60"
app:tl_textSelectColor="@color/black"
app:tl_textUnselectColor="@color/black"
app:tl_indicator_color="@color/black"
android:id="@+id/ctl_home"/>
<androidx.viewpager2.widget.ViewPager2
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vp2_home"/>
</LinearLayout>
</layout>