ViewPager 的使用
ViewPager 是谷歌提供给我们进行滑动切换页面的一个工具类,如果我们需要使用 ViewPager 的话,最少涉及到 2个类
1. ViewPager
2. PagerAdapter - ViewPager 的适配器,为 viewpager 提供内容
如:
-------------------------------------------------------------------------------------------
layout 布局:
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="150dp"
android:id="@+id/viewPager"
/>
-------------------------------------------------------------------------------------------
继承 PagerAdapter,实现以下方法:
public class ImageAdapter extends PagerAdapter {
ArrayList<ImageView> views;
//构造
public ImageAdapter(ArrayList<ImageView> views) {
this.views = views;
}
//getCount 需要返回一个int值,这个 int值就是 viewPage需要显示的页面个数。
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
//isViewFromObject(View, Object) ,view 是我们某个位置的页面, Object是 instantiateItem 方法返回的。我们在这个方法需要判断这页面与 Object对象
是否是同一个对象。
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
//销毁
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
int realPosition = position%views.size();
ImageView view = views.get(realPosition);
container.removeView(view);
}
//instantiateItem(ViewGroup container, int position) 生成对应位置的页面, container 就是显示页面的容器,position 就是对应的页面的序号。这个方法
//有一个返回值,返回值的类型是 Objcet,这个 Object 对象就是对应页面。
@Override
public Object instantiateItem(ViewGroup container, int position) {
int realPosition = position%views.size();
ImageView view = views.get(realPosition);
container.addView(view);
return view;
}
}
然后在MainActivity中调用
----------------------------------------------------------------------------------------------------------------------------