ViewPager
viewpager
实现滑动效果的控件
使用:可以添加多个Fragment
适配器:viewPagerAdapter
作用:可以添加Fragment和TabLayout
用法:
自定义类继承viewPagerAdapter
重写四个方法
构造(调用父类构造)
getItem(int i){Fragment集合 .get(i)}
getcount(){Fragment集合.size()}
getpageTitle(int i){title集合.get(i)}
TabLayout:实现选项卡效果,配合viewPager搭配使用
用法:
导依赖
加标签
设置常用属性
tableColor:设置文字颜色;
tabSelectTextColor:设置选中时的颜色
tabIndicatorColor:设置横线颜色
tabIndicatorHeight:设置横线高度
tabMode=“scrollable” 支持翻页
写Fragment
// An highlighted block
public class Fragment3 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.view3,container,false);
}
}
主类
// An highlighted block
ArrayList<Fragment> fragments =new ArrayList<>();
Fragment1 fragment1=new Fragment1();
Fragment2 fragment2=new Fragment2();
Fragment3 fragment3=new Fragment3();
Fragment4 fragment4=new Fragment4();
Fragment5 fragment5=new Fragment5();
fragments.add(fragment1);
fragments.add(fragment2);
fragments.add(fragment3);
fragments.add(fragment4);
fragments.add(fragment5);
MyAdapter myAdapter=new MyAdapter(getSupportFragmentManager(),fragments);
viewPager.setAdapter(myAdapter);
适配器
// An highlighted block
public class MyAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> fragments;
public MyAdapter(FragmentManager fm, ArrayList<Fragment> fragments) {
super(fm);
this.fragments=fragments;
}
同时添加Fragment和Tablayout的适配器
// An highlighted block
public class MyAdapter2 extends FragmentPagerAdapter {
ArrayList<Fragment> fragments;
ArrayList<String> title;
public MyAdapter2(FragmentManager fm, ArrayList<Fragment> fragments, ArrayList<String> title) {
super(fm);
this.fragments=fragments;
this.title=title;
}
@Override
public Fragment getItem(int i) {
return fragments.get(i);
}
@Override
public int getCount() {
return fragments.size();
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return title.get(position);
}
}