相信大家在刚下载手机app的时候,新进入一个软件都会有一个引导页面,滑过去之后就可以进入首页了,今天写的代码就是用ViewPager简单实现一个引导页面.

1.activity_main.xml定义ViewPager控件

android:id="@+id/vp"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

2.定义item布局

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 list = new ArrayList();

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 list;

public MyPagerAdapter(Context context, ArrayList 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);

}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐