android中scrollview嵌套HorizontalScrollView导致横向滑动卡顿现象解决

来源:互联网 发布:生态数据库 编辑:程序博客网 时间:2024/04/29 05:59

转自:http://blog.csdn.net/android_xiaoqi/article/details/7788832

也许会有人遇到,在这里说下解决方法。方便以后有人纠结这个问题。

开发中经验会遇到滑动里面嵌入滑动的问题,但是这种情况下触摸事件就会发生冲突。导致滑动非常卡,甚至出现程序停止响应。这种情况下我们一般需要重写view。下面给出重新scrollview的方法

package com.example.yao_horizontalscroll_in_scrollview;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;public class CustomScrollView extends ScrollView {private GestureDetector mGestureDetector;View.OnTouchListener mGestureListener;public CustomScrollView(Context context, AttributeSet attrs) {super(context, attrs);mGestureDetector = new GestureDetector(new YScrollDetector());setFadingEdgeLength(0);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {return super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);}// Return false if we're scrolling in the x directionclass YScrollDetector extends SimpleOnGestureListener {@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY) {if (Math.abs(distanceY) > Math.abs(distanceX)) {return true;}return false;}}}


原创粉丝点击