ViewPager PagerAdapter的简单使用

以下是官方文档中对ViewPager的说明

Layout manager that allows the user to flip left and right through pages of data. You supply an implementation of a PagerAdapter to generate the pages that the view shows.

ViewPagerandroid.support-v4包下的一个组件。用来实现左右滑动的效果。和TabLayout的联动使用的效果挺不错。那么ViewPager的基本使用,是怎样的呢。
呢?和其他的组件一样。我们只需要在布局中添加即可。

1
2
3
4
5
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/viewpager"
/>

在这里我们需要一个PagerAdapter来对ViewPager进行填充。首先我们需要一个数据源,在这里我们用一个List<ImageView>。当创建PagerAdapter的时候,
我们需要实现四个方法:getCount, isViewFromObject, instantiateItem, destroyItem。最基础的应用的代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class MyAdapter extends PagerAdapter {
private List<ImageView> mList;
public MyAdapter(List<ImageView> list) {
mList = list;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
/**
* 实例化页面
* @param container
* @param position
* @return
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mList.get(position));
return mList.get(position);
}
/**
* 删除页面
* @param container
* @param position
* @param object
*/
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mList.get(position));
}
}