ViewPager 和 SlidingPaneLayout 冲突解决办法
来源:互联网 发布:亚瑟士淘宝假货多吗 编辑:程序博客网 时间:2024/05/16 08:46
大神可以直接看原始文章:http://stackoverflow.com/questions/17490899/using-androids-slidingpanelayout-with-viewpager
ViewPager 和 SlidingPaneLayout都可以左右的滑动.
上面文章中说要修改v4包里的SlidingPaneLayout的源码,首先要找到它,如果没有直接连接到这个源码的,是看不到的.可以再Android sdk-->extras-->android-->support-->v4-->src-->java-->android->support-->v4-->widget文件里面找到
1.首先修改 onInterceptTouchEvent 中的 ACTION_MOVE动作里面的代码,在if判断中添加一个或的判断,就是下面的红色代码部分
if (adx > slop && ady > adx<span style="color:#ff0000;"> || canScroll(this, false, Math.round(x - mInitialMotionX), Math.round(x), Math.round(y))</span>) {
2.找到canScroll方法.修改他的返回值,返回值修改为红色部分,其中canViewPagerScrollHorizontally方法是没有的,需要手动的添加
return <span style="color:#ff0000;">checkV && (ViewCompat.canScrollHorizontally(v, -dx) || ((v instanceof ViewPager) && canViewPagerScrollHorizontally((ViewPager) v, -dx)));
3.添加canViewPagerScrollHorizontally方法
boolean canViewPagerScrollHorizontally(ViewPager p, int dx) { return !(dx < 0 && p.getCurrentItem() <= 0 || 0 < dx && p.getAdapter().getCount() - 1 <= p.getCurrentItem());}
上面的操作修改完成之后就可以了,记得修改xml文件里面的路径
还有个博客用了另一种方法做可修改.同时修改了2个类的源码,SlidingPaneLayout和ViewPager,虽然我没有用这种方法.但是给了我指引,非常感谢
博客地址:http://blog.csdn.net/songzeyang99/article/details/16884217
附上 actionbar+viewpager+SlidingPaneLayout的demo, actionbar用的是第三方ViewPageIndicator,没有打包.直接导入到工程了
工程地址: http://download.csdn.net/detail/hxy01245120/8406665
- ViewPager 和 SlidingPaneLayout 冲突解决办法
- ViewPager和SlidingPaneLayout滑动冲突
- ViewPager和SlidingPaneLayout的滑动冲突事件
- 解决ViewPager和SlidingPaneLayout的事件冲突
- Android ViewPager和SlidingPaneLayout的滑动事件冲突处理方法
- Android ViewPager和SlidingPaneLayout的滑动事件冲突处理方法
- Android ViewPager和SlidingPaneLayout的滑动事件冲突处理方法
- Android ViewPager和SlidingPaneLayout的滑动事件冲突处理方法(转载)
- 关于ListView和ViewPager冲突的解决办法
- 关于ViewPager 嵌套ViewPager和flyco依赖冲突的解决办法
- ScrollView(Listview)和Viewpager(banner)的冲突解决办法
- 完美解决View Pager和SlidingPaneLayout的滑动冲突问题
- Viewpager嵌套滑动冲突解决办法
- ViewPager和ViewPager的冲突
- ViewPager和ViewFlipperV冲突
- ViewPager和ScrollView冲突
- Viewpager和SeekBar的滑动冲突的解决办法(其他滑动冲突可参考)
- 解决SlidingPaneLayout的滑动冲突
- Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
- 多线程、多进程写同一日志情况下的日志库中 I/O 的选型
- LeetCode-Palindrome Number
- 【SzNOI语法百题】【d027】水仙花数
- DWR的使用以及DWR中工具JS文件的使用
- ViewPager 和 SlidingPaneLayout 冲突解决办法
- android studio 迁移 eclipse 和 Intellij Idea 项目的注意事项
- Subversion error: Repository moved permanently to please relocate 解决方法
- Linux Shell 基本语法
- Redis常用命令
- 【SzNOI语法百题】【d028】#号倒三角形
- Permutations II (Java)
- POJ 3255 Roadblocks (次短路径 + Dijkstra算法)
- C++标准库---set应用之通讯录