ViewPager基本用法

简介: 用法:数据ImageView+自定义适配器+ViewPager控件

用法:数据ImageView+自定义适配器+ViewPager控件


1 添加ViewPager


在Activity的XML布局文件中添加一个控件——ViewPager。


在Java代码中找控件ViewPager。


2 创建Adapter类


继承PagerAdapter类,重写必须重写的两个方法getCount和isViewFromObject。


并ctrl+o,重写两个生成控件和销毁控件的两个方法。


instantiateItem和destroyItem。


3 在Adapter类中准备数据


此处我们只展示一个图片ImageView


即List<ImageView>。


4 重写适配器中的方法


4.1 重写getCount


获取列表中元素的个数。


public int getCount(){
    return mImageViewList==null?0:mImageViewList.size();
}


4.2 重写isViewFromObject


判断这个View和Object是不是同一个东西。而这个Object是什么,就是下一个要重写的instantiateItem方法的返回值View就是这一页


public boolean isViewFromObject(View view,Object object){
    return view==object;
}


4.3 重写instantiateItem


生成一页,也就是ImageView,也就是List列表中的一项。


而整个List就相当于一个ViewPager。


public Object instantiateItem(ViewGroup container,int position){
    //从列表中获取元素
    ImageView imageView=mImageViewList.get(position);
    //把此元素放入ViewGroup中
    container.addView(imageView);
    //返回此元素
    return imageView;
}


4.4 重写destroyItem


当从这一页划到另外一页时,前面那一页应该被销毁。


public void destroyItem(ViewGroup container,int position,Object object){
    super.destroyItem(container,position,object);
    //从ViewGroup中移除
    container.removeView((View)object);
}


4.5 实例化

public Adapter(List<ImageView> imageViewList){
    mImageViewList=imageViewList;
}


5 回到Avtivity,实例化适配器对象


准备数据并传入。


private void intiData(){
    ImageView imageView1=new ImageView(this);
    imageView1.setImageResource(R.id.xxx);
    ImageView imageView2=new ImageView(this);
    imageView2.setImageResource(R.id.xxx);
    ImageView imageView3=new ImageView(this);
    imageView3.setImageResource(R.id.xxx);
    mImageViews=new ArrayList<>();
    mImageViews.add(imageView1);
    mImageViews.add(imageView2);
    mImageViews.add(imageView3);
}


6 主运行代码


先进行第五步的数据初始化。先进行第五步的数据初始化。


然后创建适配器对象。


然后给ViewPager设置适配器。


然后有必要的时候给ViewPager添加监听addOnPageChangeListener(new ViewPager.OnpageChangeLisgener()),有三个回调方法,最常用的是第二个onPageSelected(),


就是划定到某一页就会触发。

目录
相关文章
|
7月前
|
Android开发 容器
35. 【Android教程】视频页面:ViewPager
35. 【Android教程】视频页面:ViewPager
67 3
|
Android开发
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(一)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
Android开发 UED 开发者
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突(二)
两种方法,教你解决 ViewPager 嵌套 ViewPager滑动冲突
|
缓存 Android开发
ViewPager的简单使用
本节带来的是Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具),实在想不到如何来称呼这个控件,他的大概功能:通过手势滑动可以完成View的切换,一般是用来做APP的引导页或者实现图片轮播,因为是3.0后引入的,如果想在低版本下使用,就需要引入v4兼容包,我们也可以看到,ViewPager在:android.support.v4.view.ViewPager目录下。下面我们就来学习一下这个控件的基本用法。
193 0
|
安全
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
Fragment里面有ViewPager,ViewPager里面又嵌套Fragment,刚遇到的一个坑
ViewPager(通过反射修改viewpager切换速度)
(创建于2016/11/17) import java.lang.reflect.Field; import android.content.
1130 0
|
前端开发 Android开发 容器
1-VIII--ViewPager的基本使用
零、前言 [1].ViewPager顾名思义是将若干视图一页一页的展现 [2].ViewPager和Fragment郎才女貌,天造之合,在加个TabLayout简直和睦一家人 [3].
1065 0

热门文章

最新文章