ViewPager基本练习

main_layout布局文件:

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

适配器PagerAdapter:

public class MyAdapter extends PagerAdapter {

    private List<ImageView> list;

    public MyAdapter(List<ImageView> list) {
        this.list = list;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    /**
     * 该方法表示添加视图到页卡中
     *
     * @param container
     * @param position
     * @return
     */
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        //将即将要展示的视图添加到 ViewGroup        container.addView(list.get(position));
        //返回值是添加的视图对象
        return list.get(position);
    }

    /**
     * 销毁一个条目
     * @param container
     * @param position
     * @param object
     */
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        //  super.destroyItem(container, position, object);
            //将已经添加的视图销毁掉
        container.removeView(list.get(position));
    }

    /**
     * 判断View Object 是否是同一个对象
     * @param view
     * @param object
     * @return
     */
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view ==object;
    }
}

MainActivity:

public class MainActivity extends AppCompatActivity {

    private ViewPager viewPager;
    //视图的集合
    private List<ImageView>  list = new ArrayList<>();
    //图片集合
    private int[]  imgs ={R.mipmap.aaa,R.mipmap.bbb,R.mipmap.ccc,R.mipmap.ddd,R.mipmap.eee};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化视图集合
        for (int i = 0; i < imgs.length; i++) {
            ImageView view = new ImageView(this);
            view.setImageResource(imgs[i]);
            list.add(view);
        }

        viewPager = (ViewPager) findViewById(R.id.viewPager);
        //定义适配器
        MyAdapter myAdapter = new MyAdapter(list);
        //设置适配器
        viewPager.setAdapter(myAdapter);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41898048/article/details/80159272