美文网首页
Android中用ViewPager做滑动引导页面

Android中用ViewPager做滑动引导页面

作者: 那年的歌 | 来源:发表于2019-05-26 19:43 被阅读0次

相信大家在刚下载手机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);

    }

}

相关文章

网友评论

      本文标题:Android中用ViewPager做滑动引导页面

      本文链接:https://www.haomeiwen.com/subject/davftctx.html