ViewPager引导页
定义:ViewPager是Android中专门用来实现左右滑动切换View效果的系统控件
需要导入依赖:
implementation 'com.android.support:design:28.0.0'
ViewPager的适配器
PagerAdapter
实现PagerAdapter要重写四个方法
PagerAdapter适配器要重写的方法
public class MyPagerAdpter extends PagerAdapter {
private List<ImageView> imageViews;
public MyPagerAdpter(List<ImageView> imageViews) {
this.imageViews = imageViews;
}
@Override//返回数据源长度
public int getCount() {
return imageViews.size();
}
@Override//判断View是否存在
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override//创建(Item)当前页面的imageView
public Object instantiateItem(@NonNull ViewGroup container, int position) {
container.addView(imageViews.get(position));
//添加了谁返回谁
return imageViews.get(position);
}
//删除group中指定的图片
@Override//销毁当前Fragment
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(imageViews.get(position));
}
}
FragmentPagerAdapter
实现FragmentPagerAdapter适配器重写两个方法
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public MyFragmentPagerAdapter(@NonNull FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
public MyFragmentPagerAdapter(@NonNull FragmentManager fm, int behavior, List<Fragment> fragments) {
super(fm, behavior);
this.fragments = fragments;
}
@NonNull
@Override//返回当前布局
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override//返回数据的数量
public int getCount() {
return fragments.size();
}
}