话不多说,直接介绍用法
使用方法其实与Listview和RecyclerView的方法类似

一、文字切换页面
1.布局文件用ViewPager

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

2.定义一个适配器类使其继承PagerAdapter,重写其中的四个方法,分别是getCount,isViewFromObject,instantiateItem和destroyItem

public class PVAdapter extends PagerAdapter {@Overridepublic int getCount() {return 3;//在Viewpager显示3个页面}@Overridepublic boolean isViewFromObject(View view, Object object) {return view==object;}@Overridepublic Object instantiateItem(ViewGroup container, int position) {TextView tv = new TextView(container.getContext());tv.setGravity(Gravity.CENTER);tv.setTextSize(20);tv.setText("第" + position + "页");// 添加到ViewPager容器container.addView(tv);// 返回填充的View对象return tv;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View) object);}
}

3.活动中添加适配器

 ViewPager viewPager = findViewById(R.id.viewpager);PVAdapter pvAdapter = new PVAdapter();viewPager.setAdapter(pvAdapter);

二、图片切换页面
1.布局文件用ViewPager

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

2.定义一个适配器类使其继承PagerAdapter,复写其中的四个方法,分别是getCount,isViewFromObject,instantiateItem和destroyItem

public class PicatureAdapter extends PagerAdapter {private int [] mImage;public PicatureAdapter(int[] mImage) {this.mImage = mImage;//接收传入的mIamge}@Overridepublic int getCount() {return 3;//在Viewpager显示3个页面}@Overridepublic boolean isViewFromObject(View view, Object object) {return view==object;}//设置每一页显示的内容@Overridepublic Object instantiateItem(ViewGroup container, int position) {ImageView imageView = new ImageView(container.getContext());imageView.setImageResource(mImage[position]);//ImageView设置图片container.addView(imageView); // 添加到ViewPager容器return imageView;// 返回填充的View对象}// 销毁条目对象@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {container.removeView((View) object);}
}

3.活动中添加适配

public class MainActivity extends AppCompatActivity {private int[] imageids = new int[10];ViewPager viewPager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();PicatureAdapter adapter = new PicatureAdapter(imageids);viewPager.setAdapter(adapter);}public void init(){viewPager = findViewById(R.id.viewpager);imageids[0] = R.drawable.ic_launcher_background;imageids[1] = R.mipmap.picpic;imageids[3] = R.mipmap.ic_launcher;}
}

未完待续…

参考文献

ViewPager的用法相关推荐

  1. ViewPager基本用法

    目录 1 添加ViewPager 2 创建Adapter类 3 在Adapter类中准备数据 4 重写适配器中的方法 4.1 重写getCount 4.2 重写isViewFromObject 4.3 ...

  2. Android ViewPager + Fragment的布局

    ViewPager And Fragment 1.之前有篇博客是讲ViewPager的用法的:http://www.cnblogs.com/liangstudyhome/p/3773156.html ...

  3. Android照片墙加强版,使用ViewPager实现画廊效果

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12646775 记得关于照片墙的文章我已经写过好几篇了,有最基本的照片墙,有瀑布流模 ...

  4. 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment

    在ActionBar中添加Tab是很有用的技巧.在support V7库的支持下,我们几乎可以用和之前一样的方式来添加Tab,对于Tab来说,我们可以和MenuItem一样,给他定义自己的视图.我这里 ...

  5. Android开源介绍-UI组件

    终端的开发,UI的重要性不言而喻,如何快速开发出优雅漂亮的UI,android的一些开源UI组件,提供了很好的参考. 参考: oschina Android UI组件  最火的Android开源项目( ...

  6. Android SystemUI之下拉菜单,通知栏,快捷面板(三)

    Android  SystemUI系列: 1.Android  SystemUI之启动流程(一) 2.Android SystemUI之StatusBar,状态栏(二) 3.Android Syste ...

  7. Android高仿360安全卫士--布局篇(2)

     一.概述 之前写过一篇文章也是关于360安全卫士布局的,发现有很多朋友比较感兴趣,鉴于此这次继续再完善一下.先说一下思路: 1.继续使用ViewPager来滑动切换页面 2.使用GridView来显 ...

  8. Android高仿360安全卫士--布局篇

    转自:http://blog.csdn.net/wangjinyu501/article/details/8083373 最近模仿360手机卫士,做了一个Demo.看了一下360的布局文件,发现它是自 ...

  9. 自定义View和控件

    自定义View和控件 控件 把已经存在的控件组合在一起当做一个控件来用 自定义View 创新 ,之前没有的控件 源码的关联 删除private jar 添加到build path 选中jar包的可用 ...

最新文章

  1. exchange 2013 升级CU15,提示“上次安装完成后没有重启”的提示
  2. 墙裂推荐!卡神力作《代码随想录》,上架首日卖爆!
  3. 学习Python3:20171031
  4. 【ESSD技术解读】 云原生时代,阿里云块存储 ESSD 快照服务如何被企业级数据保护所集成?
  5. MySQL模糊查询—between and关键字
  6. camel.js_Camel 2.11 –具有URL重写功能的HTTP代理路由
  7. 响应式精美列商城发卡源码
  8. 标准盒子与IE盒子的区别
  9. laravel实现第三方qq一键登录
  10. tl r402路由器设置_tp-link TL-WR700N 迷你型路由器设置记录
  11. 给马云的一幅画——阿里国际站用户体验设计案例精选
  12. php查询mysql语句_PHP之路——MySql查询语句
  13. linux configure使用方法
  14. 如何下载ei和sci论文
  15. 日置HIOKI PW3198电能质量分析仪
  16. 联想笔记本小新pro16酷睿版评测
  17. configure: error: no acceptable C compiler found in $PATH 问题解决
  18. Hadoop 大数据生态框架--总述
  19. 内存延时cl_简单解析,什么是“CL延迟”
  20. redis 两台服务器组集群

热门文章

  1. jaliswall.js图片瀑布流插件
  2. YourBatman用趣味代码雨祝你:端午安康
  3. 17.电话号码的字母组合(Letter Combinations of a Phone Number)
  4. 搭建基于qemu + eclipse的kernel调试环境(by quqi99)
  5. Windows的Which命令
  6. 分享140个HTML公司企业模板,总有一款适合您
  7. C++ Regsvr32命令详解
  8. 德语水平考试(Deutsch-Test für Zuwanderer
  9. 校招开始,你做好【终身成长】的准备了吗?
  10. 团队编程--MP3播放器