ViewPager的用法
话不多说,直接介绍用法
使用方法其实与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的用法相关推荐
- ViewPager基本用法
目录 1 添加ViewPager 2 创建Adapter类 3 在Adapter类中准备数据 4 重写适配器中的方法 4.1 重写getCount 4.2 重写isViewFromObject 4.3 ...
- Android ViewPager + Fragment的布局
ViewPager And Fragment 1.之前有篇博客是讲ViewPager的用法的:http://www.cnblogs.com/liangstudyhome/p/3773156.html ...
- Android照片墙加强版,使用ViewPager实现画廊效果
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12646775 记得关于照片墙的文章我已经写过好几篇了,有最基本的照片墙,有瀑布流模 ...
- 低版本系统兼容的ActionBar(四)添加Tab+添加自定义的Tab视图+Fragment
在ActionBar中添加Tab是很有用的技巧.在support V7库的支持下,我们几乎可以用和之前一样的方式来添加Tab,对于Tab来说,我们可以和MenuItem一样,给他定义自己的视图.我这里 ...
- Android开源介绍-UI组件
终端的开发,UI的重要性不言而喻,如何快速开发出优雅漂亮的UI,android的一些开源UI组件,提供了很好的参考. 参考: oschina Android UI组件 最火的Android开源项目( ...
- Android SystemUI之下拉菜单,通知栏,快捷面板(三)
Android SystemUI系列: 1.Android SystemUI之启动流程(一) 2.Android SystemUI之StatusBar,状态栏(二) 3.Android Syste ...
- Android高仿360安全卫士--布局篇(2)
一.概述 之前写过一篇文章也是关于360安全卫士布局的,发现有很多朋友比较感兴趣,鉴于此这次继续再完善一下.先说一下思路: 1.继续使用ViewPager来滑动切换页面 2.使用GridView来显 ...
- Android高仿360安全卫士--布局篇
转自:http://blog.csdn.net/wangjinyu501/article/details/8083373 最近模仿360手机卫士,做了一个Demo.看了一下360的布局文件,发现它是自 ...
- 自定义View和控件
自定义View和控件 控件 把已经存在的控件组合在一起当做一个控件来用 自定义View 创新 ,之前没有的控件 源码的关联 删除private jar 添加到build path 选中jar包的可用 ...
最新文章
- exchange 2013 升级CU15,提示“上次安装完成后没有重启”的提示
- 墙裂推荐!卡神力作《代码随想录》,上架首日卖爆!
- 学习Python3:20171031
- 【ESSD技术解读】 云原生时代,阿里云块存储 ESSD 快照服务如何被企业级数据保护所集成?
- MySQL模糊查询—between and关键字
- camel.js_Camel 2.11 –具有URL重写功能的HTTP代理路由
- 响应式精美列商城发卡源码
- 标准盒子与IE盒子的区别
- laravel实现第三方qq一键登录
- tl r402路由器设置_tp-link TL-WR700N 迷你型路由器设置记录
- 给马云的一幅画——阿里国际站用户体验设计案例精选
- php查询mysql语句_PHP之路——MySql查询语句
- linux configure使用方法
- 如何下载ei和sci论文
- 日置HIOKI PW3198电能质量分析仪
- 联想笔记本小新pro16酷睿版评测
- configure: error: no acceptable C compiler found in $PATH 问题解决
- Hadoop 大数据生态框架--总述
- 内存延时cl_简单解析,什么是“CL延迟”
- redis 两台服务器组集群
热门文章
- jaliswall.js图片瀑布流插件
- YourBatman用趣味代码雨祝你:端午安康
- 17.电话号码的字母组合(Letter Combinations of a Phone Number)
- 搭建基于qemu + eclipse的kernel调试环境(by quqi99)
- Windows的Which命令
- 分享140个HTML公司企业模板,总有一款适合您
- C++ Regsvr32命令详解
- 德语水平考试(Deutsch-Test für Zuwanderer
- 校招开始,你做好【终身成长】的准备了吗?
- 团队编程--MP3播放器