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

Android中用ViewPager做滑动引导页面

作者: 我挺平凡 | 来源:发表于2019-03-18 09:59 被阅读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/ixwmmqtx.html