相信大家在刚下载手机app的时候,新进入一个软件都会有一个引导页面,滑过去之后就可以进入首页了,今天写的代码就是用ViewPager简单实现一个引导页面.
1.activity_main.xml定义ViewPager控件
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
2.定义item布局
<ImageView
android:src="@drawable/aa"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
3.在MainActivity中
private ViewPager vp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
//1.获取控件
vp = (ViewPager) findViewById(R.id.vp);
//2.创建数据源并添加布局
ArrayList<View> list = new ArrayList<View>();
list.add(LayoutInflater.from(MainActivity.this).inflate(R.layout.item1, null));
list.add(LayoutInflater.from(MainActivity.this).inflate(R.layout.item2, null));
list.add(LayoutInflater.from(MainActivity.this).inflate(R.layout.item3, null));
//3.创建适配器并绑定适配器
MyPagerAdapter adapter = new MyPagerAdapter(this,list);
vp.setAdapter(adapter);
}
4.适配器
public class MyPagerAdapter extends PagerAdapter {
private Context context;
private ArrayList<View> list;
public MyPagerAdapter(Context context, ArrayList<View> list) {
this.context = context;
this.list = list;
}
//一共可以滑动多少个页面
@Override
public int getCount() {
return list.size();
}
//查看索引与对象是否是同一个对象
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view = list.get(position);
container.addView(view);
return view;// 返回你要显示的view
}
// 滑动看不见的
// position 要移除的 view 的下标
@Override
public void destroyItem(ViewGroup container, int position,Object object) {
View view = list.get(position); // 要移除的view
container.removeView(view);
}
}
网友评论