Scrollview和listview 与VIewpager冲突问题
2017-07-05 10:48
274 查看
Scrollview和listview 与VIewpager冲突问题
* * * 解决ScrollView嵌套ViewPager出现的滑动冲突问题 */public class PagerScrollView extends ScrollView {private boolean canScroll;private GestureDetector mGestureDetector;View.OnTouchListener mGestureListener;@SuppressWarnings("deprecation")public PagerScrollView(Context
context, AttributeSet attrs) {super(context, attrs);mGestureDetector = new GestureDetector(new YScrollDetector());canScroll = true;}@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {if (ev.getAction() == MotionEvent.ACTION_UP)canScroll = true;return
super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);}class YScrollDetector extends SimpleOnGestureListener {@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY) {if (canScroll)if (Math.abs(distanceY)
>= Math.abs(distanceX))canScroll = true;elsecanScroll = false;return canScroll;}}}
package com.dreamlive.widget.view;import android.content.Context;import android.util.AttributeSet;import android.view.GestureDetector;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.MotionEvent;import android.view.View;import android.widget.ScrollView;/**
* * * 解决ScrollView嵌套ViewPager出现的滑动冲突问题 */public class PagerScrollView extends ScrollView {private boolean canScroll;private GestureDetector mGestureDetector;View.OnTouchListener mGestureListener;@SuppressWarnings("deprecation")public PagerScrollView(Context
context, AttributeSet attrs) {super(context, attrs);mGestureDetector = new GestureDetector(new YScrollDetector());canScroll = true;}@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {if (ev.getAction() == MotionEvent.ACTION_UP)canScroll = true;return
super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);}class YScrollDetector extends SimpleOnGestureListener {@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY) {if (canScroll)if (Math.abs(distanceY)
>= Math.abs(distanceX))canScroll = true;elsecanScroll = false;return canScroll;}}}
package com.dreamlive.widget.view; import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; public class UnSrollableListView extends ListView { public UnSrollableListView(Context context) { super(context); } public UnSrollableListView(Context context, AttributeSet attrs) { super(context, attrs); } public UnSrollableListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }
相关文章推荐
- Android中Scrollview、ViewPager、ListView冲突问题
- 解决ScrollView嵌套viewPager中嵌套listView滑动事件冲突问题(水平方向)
- viewpager跟HorizontalScrollView,listview冲突的问题
- 安卓解决viewPager和scrollView和listView滑动冲突的问题
- Viewpager嵌套ScrollView和ListView嵌套ScrollView引起的冲突问题
- Android中Scrollview、ViewPager、ListView冲突问题 (亲测可用)
- Android ScrollView 与 viewpager冲突问题
- 关于ScrollView中嵌套ListView和Viewpager问题
- 解决ListView+ViewPager滑动事件冲突的问题
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- 基于ViewPager的自动轮播模块–解决与ScrollView冲突问题
- ScrollView 与 viewpager冲突问题
- 解决ListView+ViewPager滑动事件冲突的问题
- ScrollView中嵌套的viewPager,viepager高度设置为wrap_content时内容不显示问题以及与scrollview冲突的解决方案
- Android中Scrollview、ViewPager冲突问题汇总(已解决)
- 完美解决Android里面scrollview嵌套及listview嵌套viewpager的滑动冲突问题的简单方法
- ScrollView或者ListView中嵌套ViewPager,展示不出来问题。
- 解决ScrollView嵌套ViewPager出现的滑动冲突问题
- ScrollView 与 viewpager冲突问题
- 解决ScrollView和VerticalViewPager滑动事件冲突问题