如何在Fragment中使用ViewPager,并实现导航随手势滑动效果
来源:互联网 发布:整形网络咨询招聘 编辑:程序博客网 时间:2024/04/29 05:48
转自:http://blog.csdn.net/u013758734/article/details/43197659
看了之前自己的一篇文章,感觉写的不够好,今天推荐一个更好的实现ViewPager导航,比以前的那个帅多了,而且简单多了!可惜CSDN没有删除博客的权限,否则就删除了。以前的文章:http://blog.csdn.net/u013758734/article/details/29848117
今天主要介绍的是:在Fragment中使用ViewPager,ViewPager的内容依然是多个Fragment。本文参考了:http://www.tuicool.com/articles/E7n6vu 不过原文中的方法对于我的实际情况还是有点不合适的,出了点问题,下面再说。
要实现View的滑动效果,就必须不断的改变他的位置,可以通过setLayoutParams,也可以通过scrollTo或者scrollBy,或者重写控件等,这里我使用的是更简单的setX(float x),就是改变View的X的坐标位置就OK了,十分的方便。
看一下最主要的代码:
看一下效果图:
现在来说一下如果通过setLayoutParams会出现什么问题,如果是通过这种方式,那么当你切换到这个Fragment时,初始化的时候即使你通过setCurrentItem(2)来设置默认显示第三个子fragment,导航栏中的蓝色背景依然停留在第一个导航处,到那时下面的内容显示是第三个。另外你第一次通过手指切换内容视图的时候,上面的蓝色背景不会随着手指一动,只有页面切换完成,他才会移动,就是在ViewPager滚动过程中,setLayoutParams没有起作用,虽然执行了,但是没有效果,后面再滑动的时候就会随着手指移动了。
上面代码中判断语句:
之所以这样写,是因为如果不添加currentIndex-position==1的判断,从第一个滑到第三个或者第四个,背景图片会出现颤抖的情况,其实这种效果也很不错,要是喜欢,可以把这个&&后面的去掉。
其实写这么多我知道也没人看,下面是源码地址:
https://github.com/kidloserme/ViewPagerSlide
- 如何在Fragment中使用ViewPager,并实现导航随手势滑动效果
- 如何在Fragment中使用ViewPager,并实现导航随手势滑动效果
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- Android :ViewPager+Fragment 实现顶部导航滑动效果
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- 教你如何使用ViewPager+Fragment一步步打造顶部导航界面滑动效果
- 教你如何使用ViewPager+Fragment一步步打造顶部导航界面滑动效果
- 在ViewPager中使用Fragment实现界面左右滑动
- viewpager+fragment实现滑动效果
- android_使用ViewPager和Fragment实现滑动导航
- 使用ViewPager和Fragment实现底部导航滑动重构版
- 如何利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- ViewPager结合PagerAdapter实现在Fragment下的随手指滑动翻页
- ViewPager+fragment实现滑动导航栏
- 使用Fragment实现ViewPager滑动
- 天了噜,我国4G用户超过2亿了!
- 哈夫曼编码树(最优编码树)
- 【黑马程序员】Java学习笔记之继承(二)(面向对象)
- XShell 技巧分享
- dubbo:webservice基于servlet容器的实现demo
- 如何在Fragment中使用ViewPager,并实现导航随手势滑动效果
- ERROR:duplicate key in table MYsql
- jQuery Callbacks应用关键点
- linux SD卡驱动分析
- 常见HTTP错误代码大全
- 小作:brainfuck解释器
- Jsoup学习笔记3:Jsoup 解析Html源码实例
- MYSQL查询某字段中以逗号分隔的字符串的方法
- listView如何去掉分割线