您必须更换< ScrollView>< / ScrollView>使用此自定义ScrollView,如< com.example.VerticalScrollview> < /com.example.VerticalScrollview>

package com.example;

import android.content.Context;

import android.util.AttributeSet;

import android.util.Log;

import android.view.MotionEvent;

import android.widget.ScrollView;

public class VerticalScrollview extends ScrollView{

public VerticalScrollview(Context context) {

super(context);

}

public VerticalScrollview(Context context, AttributeSet attrs) {

super(context, attrs);

}

public VerticalScrollview(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

@Override

public boolean onInterceptTouchEvent(MotionEvent ev) {

final int action = ev.getAction();

switch (action)

{

case MotionEvent.ACTION_DOWN:

Log.i("VerticalScrollview", "onInterceptTouchEvent: DOWN super false" );

super.onTouchEvent(ev);

break;

case MotionEvent.ACTION_MOVE:

return false; // redirect MotionEvents to ourself

case MotionEvent.ACTION_CANCEL:

Log.i("VerticalScrollview", "onInterceptTouchEvent: CANCEL super false" );

super.onTouchEvent(ev);

break;

case MotionEvent.ACTION_UP:

Log.i("VerticalScrollview", "onInterceptTouchEvent: UP super false" );

return false;

default: Log.i("VerticalScrollview", "onInterceptTouchEvent: " + action ); break;

}

return false;

}

@Override

public boolean onTouchEvent(MotionEvent ev) {

super.onTouchEvent(ev);

Log.i("VerticalScrollview", "onTouchEvent. action: " + ev.getAction() );

return true;

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐