美文网首页
简单实现viewPager基础效果

简单实现viewPager基础效果

作者: JokerHerry | 来源:发表于2017-12-11 21:04 被阅读0次

    viewPager简介:

    • 通过活动切换展示view的效果。
    • 在v4包里面(android.support.v4.view.ViewPager)。

    实现流程:

    1.xml中添加一个viewPager的控件
    2.Activity中添加需要实现滑动展示的viewlist
    3.申明Pageradapter
    4.为ViewPager添加adapter
    5.使用CirclePageIndicator添加下方小圆点

    具体实现:

    1.首先在xml文件中添加viewpager控件

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    

    2.申明一个List<View>的集合

            List<View> viewList = new ArrayList<>();
            LayoutInflater view = getLayoutInflater().from(MainActivity.this);
            View view1 = view.inflate(R.layout.view,null);
            View view2 = view.inflate(R.layout.view,null);
            View view3 = view.inflate(R.layout.view,null);
            viewList.add(view1);
            viewList.add(view2);
            viewList.add(view3);
    

    我们常添加已经设置好的layout文件,或者是直接申明然后插入,例如下面的方式:

            ImageView imageView = new ImageView(this);
            imageView.setImageResource(R.drawable.bg);
            viewList.add(imageView);
    

    3.申明一个adapter类,继承PagerAdapter
    重写四个方法,直接复制下面的内容。

    private List<View> mViewList ;
    
        public adapter(List<View> mViewList ) {
            this.mViewList = mViewList;
        }
        
        @Override    
        public int getCount() {
            return mViewList.size();
        }
        @Override    
        public boolean isViewFromObject(View view, Object object) {
            return view==object;
        }
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(mViewList.get(position));
            return mViewList.get(position);
        }
        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView(mViewList.get(position));
        }
    

    4.viewpager与adapter绑定

    pager.setAdapter(new adapter(viewList));
    

    5.使用CirclePageIndicator 实现小圆点的快速实现
    需要进入插件

    compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    

    xml中申明

        <com.viewpagerindicator.CirclePageIndicator
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/circle"
            android:layout_gravity="bottom"
            android:layout_marginBottom="10dp"
            app:fillColor="#ffffffff"
            app:pageColor="#9f888888"
            app:strokeWidth="1dp" />
    

    activity中绑定

            CirclePageIndicator circlePageIndicator = findViewById(R.id.circle);
            circlePageIndicator.setViewPager(pager);
    

    相关文章

      网友评论

          本文标题:简单实现viewPager基础效果

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