1.代码
略
2.步骤与介绍
1.Viewpager
1.适配器
fragments表示:list集合
/**
* sunweihao Tony
* :
* 13:38
**/
public class XgcfFragmentViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
private String[] titles;
public XgcfFragmentViewPagerAdapter(@NonNull FragmentManager fm, List<Fragment> fragments, String[] titles) {
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
this.fragments=fragments;
this.titles=titles;
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments==null?0:fragments.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
if (titles !=null){
return titles[position];
}
return super.getPageTitle(position);
}
}
2.设置适配器
这是在一个fragment中
XgcfFragmentViewPagerAdapter vpAdapter = new XgcfFragmentViewPagerAdapter(getChildFragmentManager(), fragments, titles);
2.tabLayout
1.设置属性
//可以滑动
xgcfTb.setTabMode(TabLayout.MODE_SCROLLABLE);
2.设置联动,顺便为ViewPager添加适配器
xgcfTb.setupWithViewPager(xgcfVp,false);
xgcfVp.setAdapter(vpAdapter);
3.设置自定义item
for (int i = 0; i < titles.length; i++) {
TabLayout.Tab tabAt = xgcfTb.getTabAt(i);
tabAt.setCustomView(R.layout.tb_item);
if (i==0) {
tabAt.getCustomView().findViewById(R.id.tv_item_tb).setSelected(true);
}
TextView textView=tabAt.getCustomView().findViewById(R.id.tv_item_tb);
textView.setText(titles[i]);
}
tb_item:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:layout_marginHorizontal="3dp">
<TextView
style="@style/text_size2_style"
android:paddingVertical="5dp"
android:paddingHorizontal="10dp"
android:text="试试A吧"
android:textStyle="normal"
android:textColor="@drawable/xgcf_selector_text_color_tab"
android:background="@drawable/xgcf_selector_bg_color_tab"
android:id="@+id/tv_item_tb"/>
</LinearLayout>
两个selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black" android:state_selected="false" />
<item android:color="@color/white" android:state_selected="true" />
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/xgcf_shape_white" android:state_selected="false" />
<item android:drawable="@drawable/xgcf_shape_orange" android:state_selected="true" />
</selector>
3.fragment
略