ViewPager系列之ViewPager一屏显示多个子页面
来源:互联网 发布:买本书自学数控编程 编辑:程序博客网 时间:2024/05/29 18:20
from :http://blog.csdn.net/JM_beizi/article/details/51297605
ViewPager一屏显示多个子页面,常见的有两种形式:
1、当前展示的页面右侧显示一部分下个页面的内容
2、当前页面居中,左右两边分别显示上一个页面、下一个页面
第 1 种表现形式的实现代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
Adapter 代码,重写 getPageWidth(int position) 方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
第 2 种表现形式的实现代码
这种效果也好实现,主要的关键点是 Android:clipChildren=”false” 这个属性。
1.配置ViewPager 和其父布局的 android:clipChildren属性为”false”.
(android:clipChildren表示是否限制子View在其范围内,默认为true. 代码设置setClipChildren(false))
因为如果clipChildren属性设置为true,就表明我们要将children给clip掉,就是说对于子元素来说,超出当前view的部分都会被切掉,那我们在这里把它设置成false,就表明超出view的部分,不要切掉,依然显示。
注意:setClipChildren(false)在3.0以上版本中,开启了硬件加速后将不能正常工作,所以需要将其设置为软件加速。设置软硬件加速使用 setLayerType(View.LAYER_TYPE_SOFTWARE, null); 也可以在布局文件中添加 android:layerType=”software”
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
2.设置幕后item的缓存数目。如果一屏展示的pager数目多的话就需要设置此项。
- 1
- 1
3.设置页与页之间的间距
其实我感觉这里是最麻烦的。UI 上是指定了两个pager间距的,而这个调整起来也颇为麻烦。可以通过setPageMargin 来设置,也可以通过ViewPager.的宽高来展示。这里算起来确实要麻烦很多。
- 1
- 1
4.设置滑动,点击事件
如果只是简单的实现滑动,可以用设置viewPager父控件的onTouch监听到ViewPager的监听上。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
如果要实现点击滑动可以用以下方法(注:代码是我找的demo,效果还不错,是写了个实现类继承自ViewPager。着实当了回代码搬运工…Orz)
- ViewPager系列之ViewPager一屏显示多个子页面
- ViewPager系列之ViewPager一屏显示多个子页面
- ViewPager系列之ViewPager一屏显示多个子页面
- ViewPager一屏显示多个子页面
- 显示周边部分子页面的viewpager(一屏显示多个子页面)
- ViewPager一屏显示多个页面
- ViewPager,一屏显示多个page
- ViewPager 一屏显示多个效果
- Android开发之ViewPager显示页面切换
- 实现ViewPager循环显示页面
- Android--多页面管理控件之ViewPager
- Android开发之ViewPager页面切换显示动画效果
- Android(ViewPager中的ViewPager)ViewPager FragmentPagerAdapter嵌套子ViewPager FragmentPagerAdapter页面不能正常显示
- Fragment中嵌套viewPager,viewPagerh中还有多个子Fragment
- ViewPager之Fragment页面切换
- 一屏显示多个ViewPager的子item(中间显示完全,左右显示部分)
- ViewPager实现一个页面多个Item的显示
- 一个页面上显示ViewPager的多个item问题
- <算法>选择排序法
- angular2 组件之间通过service互相传递
- 04增删改数据
- SQLite数据库简介
- 《深入理解计算机系统(原书第三版)》pdf
- ViewPager系列之ViewPager一屏显示多个子页面
- Ubuntu16.04 Caffe 安装步骤记录(超详尽)
- 05查询数据
- Android备忘录 -- ListView
- Spring基础
- hdu1518之DFS
- 以后的路,起于开始
- codeforces——405A——Gravity Flip
- python-简单的用户与密码登录模块实现