引导页面滑动ViewPager(设置ViewPager适配器)

来源:互联网 发布:sql server 认证考试 编辑:程序博客网 时间:2024/06/07 12:36
<!--①在布局中定义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 ==== ViewGroupViewPager的父类,可以接收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);
}
}

0 0
原创粉丝点击