<!--①在布局中定义viewpager;--> <android.support.v4.view.ViewPager android:id="@+id/viewpager_guide" android:layout_width="match_parent" android:layout_height="match_parent" />private ViewPager viewpager_guide;viewpager_guide = (ViewPager)findViewById(R.id.viewpager_guide);
//③准备数据(网络或者本地的)====封装成集合;好处:遍历
private ArrayList<ImageView> imageViews;
/**
*
设置ViewPager适配器
使用viewpager分为五步:
①在布局中定义viewpager;
②在代码中初始化;
③准备数据(网络或者本地的)====封装成集合;好处:遍历
④设置适配器PgerAdapter
*/
//③准备数据(网络或者本地的)====封装成集合;好处:遍历
int[] ids = {R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3};
imageViews = new ArrayList<>();
for (int i=0;i<ids.length;i++){
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource(ids[i]);//设置背景
//把图片加入到集合中
imageViews.add(imageView);
}
//④设置适配器PgerAdapter
viewpager_guide.setAdapter(new MyPagerAdapter());
}
//设置viewpager适配器
继承PagerAdapter
class MyPagerAdapter extends PagerAdapter {
/** * 返回的总条数
* @return
*/
@Override
public int getCount() {
return imageViews.size();
}
/**
* 实例化对应的页面
* @param container 容器,就是ViewPager ==== ViewGroup是ViewPager的父类,可以接收viewpager
* @param position 实例化页面的位置
* @return
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = imageViews.get(position);
container.addView(imageView);
//本质上加入到viewpager里面
return imageView;
}
/**
* @param view 当前页面
* @param object
对应上面instantiateItem方法返回的值
* @return */
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
引导页面滑动ViewPager(设置ViewPager适配器)
最新推荐文章于 2022-08-16 10:10:04 发布