使用ViewPager需要引入android-support-v4.jar这个包。
该项目中ViewPager仅包含一个ImageView
一、创建ViewPager的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/guide_page"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</android.support.v4.view.ViewPager>
</LinearLayout>
二、建立适配器
1、准备数据源
private int[] mImages = {
R.drawable.guide_image1,
R.drawable.guide_image2,
R.drawable.guide_image3
};
2、创建适配器
private class GuideAdapter extends PagerAdapter {
private Context mContext;
private int[] mImages;
public GuideAdapter(Context c, int[] images) {
// TODO Auto-generated constructor stub
mContext = c;
mImages = images;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mImages.length;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == (View)arg1;
}
/**
* 实例化一个页卡
*
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
ImageView iv = new ImageView(mContext);
iv.setImageResource(mImages[position]);
((ViewPager)container).addView(iv, position);
return iv;
}
/**
* 销毁一个页卡
*
*/
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
container.removeViewAt(position);
}
}
三、为ViewPager设置适配器
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
GuideAdapter adapter = new GuideAdapter(this, mImages);
mViewPage = (ViewPager) findViewById(R.id.guide_page);
mViewPage.setAdapter(adapter);
}