简单实现viewPager基础效果

viewPager简介:

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

实现流程:

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

具体实现:

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

    

2.申明一个List的集合

        List 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 mViewList ;

    public adapter(List 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中申明

    

activity中绑定

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

你可能感兴趣的:(简单实现viewPager基础效果)