android – 在scrollView滚动时检测

我正在尝试检测ScrollView何时完成滚动,以便稍微修改其位置.在我使用ACTION_UP检测用户何时举起手指之前,我意识到这不允许我使用“投掷”,因为它会在完成之前修改滚动.

有没有办法检测ScrollView何时完成滚动?或者像ListView一样检测它的滚动状态?

关于如何实现这个的任何其他想法?

谢谢.

最佳答案
我实施了一个基于Jourbac评论解决方案.

问候

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ScrollView;

public class MyScrollView extends ScrollView {

    private static final int WHAT = 1;

    class MyHandler extends Handler {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(!hasMessages(WHAT)) {
                Log.i("TestScroll","Last msg!. Position from " 
                                    + msg.arg1 + " to " + msg.arg2);                
            }
        }
    }

    private Handler mHandler = new MyHandler();

    public MyScrollView(Context context) {
        super(context);
    }

    public MyScrollView(Context context,AttributeSet attrs) {
        super(context,attrs);
    }

    public MyScrollView(Context context,AttributeSet attrs,int defStyle) {
        super(context,attrs,defStyle);
    }

    @Override
    protected void onScrollChanged(int l,int t,int oldl,int oldt) {
        super.onScrollChanged(l,t,oldl,oldt);
        final Message msg = Message.obtain();
        msg.arg1 = oldt;
        msg.arg2 = t;
        msg.what = WHAT;
        mHandler.sendMessageDelayed(msg,500);
    }

}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...