ViewPager in a ListView or a ScrollView[solution]
来源:互联网 发布:hr软件inuoji 编辑:程序博客网 时间:2024/06/08 10:59
遇到解决不了的问题,第一反应就是去搜索,符合copy型的coder,大致浏览了一下,解决方案有以下几种,都是可以解决的:
1.如果是与ScollView冲突,就实现自已的ScollView,实现代码如下:
public final class VerticalScrollView extends ScrollView{private final GestureDetector mGestureDetector;public VerticalScrollView(Context context, AttributeSet attrs){super(context, attrs);this.mGestureDetector = new GestureDetector(context, new YScrollDetector());}@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev){return super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);}private final class YScrollDetector extends SimpleOnGestureListener{@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY){/** * 如果我们滚动更接近水平方向,返回false,让子视图来处理它 */return (Math.abs(distanceY) > Math.abs(distanceX));}}}
2.如果是与ListView冲突,解决方案有两种:2.1.要么实现自已的ViewPager;2.2.要么实现了自已的ViewPager,同时还要实现自已的ListView。代码实现差不多与ScrollView类似。
以上介绍的内容网上搜索出来一大堆,大同小异,虽然自己也是copy型的coder一员,但是对于代码的编写方面要求很严格。以下是我的解决方案:
private final OnPageChangeListener mOnPageChangeListener = new OnPageChangeListener(){@Overridepublic void onPageSelected(int position){}@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels){}@Overridepublic void onPageScrollStateChanged(int state){mPager.requestDisallowInterceptTouchEvent(state != ViewPager.SCROLL_STATE_IDLE);}};
mPager.setOnPageChangeListener(mOnPageChangeListener);
0 0
- ViewPager in a ListView or a ScrollView[solution]
- [Leetcode Solution] Reverse Words in a String
- A solution that compile Freescale iMX515 BSP or ltib fault
- clear both or overflow hidden , a clearfix solution
- A Pattern is a solution to a problem in a context
- Solution of Ballons in a Box (ACM/ICPC 2002 Finals)
- A solution to the polymorphic class problem in STL
- WPF Recipes in C# 2008: A Problem-Solution Approach
- A problem in Google code jam & its DP solution
- LeetCode: Largest Rectangle in Histogram, a naive solution
- solution Of Pat 1115. Counting Nodes in a BST (30)
- 387. First Unique Character in a String QuestionEditorial Solution
- Lintcode53 Reverse Words in a String solution 题解
- Lintcode85 Insert Node In A Binary Search Tree solution 题解
- listview ,scrollview,viewpager,嵌套问题
- .a link or .o link in Makefile
- Check if a table or field exists in a database
- Updating a ListView inside a Fragment placed on a ViewPager on DialogFragment dismiss
- oracle sql笔记
- jquery获取下拉框的值
- 学习Ajax框架之dojo:第五节——dojo拖拽事件小结(附源代码)
- 黑马程序员--Java基础总结---网络编程
- VBS发送邮件(163邮箱到QQ邮箱或Gmail)
- ViewPager in a ListView or a ScrollView[solution]
- 《Go语言程序设计》第3章练习
- eclipse tomcat内存加大,不然老是运行项目超内存
- 学习Ajax框架之dojo:第六节——dojo类的声明和继承(附源代码)
- PHP 中的isset empty区别
- 二叉树的非递归遍历
- Unit_problem(拓)审判间谍
- Maven安装与配置、插件与技巧
- 学习Ajax框架之dojo:第七节——初识Dojo widget(附源代码)