zoukankan      html  css  js  c++  java
  • Android下 scrollview的滚动停止事件的监听方法

    使用递归调用的方法,每隔5毫秒检查一下是否已经停止,如果已经停止,就拿到事件啦!
    不扯蛋,直接上代码。
    scrollContent就是我的scrollview。

    [代码]java代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    ScrollView scrollContent ;
    scrollContent.setOnTouchListener(new OnTouchListener() {
    private int lastY = 0;
    private int touchEventId = -9983761;
     
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            View scroller = (View)msg.obj;
            if(msg.what==touchEventId) {
                if(lastY ==scroller.getScrollY()) {
                    handleStop(scroller);
                }else {
                    handler.sendMessageDelayed(handler.obtainMessage(touchEventId,scroller), 5);
                    lastY = scroller.getScrollY();
                }
            }
        }
    };
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_UP) {
            handler.sendMessageDelayed(handler.obtainMessage(touchEventId,v), 5);
        }
        return false;
    }
    //这里写真正的事件
    private void handleStop(Object view) {
        ScrollView scroller = (ScrollView) view;
        System.out.println(scroller.getScrollY());
        System.out.println(scroller.getHeight());
            //Do Something
        }
    });
  • 相关阅读:
    bzoj1432_[ZJOI2009]Function
    Luogu1681_ 最大正方形II
    初等数论-Base-2(扩展欧几里得算法,同余,线性同余方程,(附:裴蜀定理的证明))
    [bzoj2456] mode
    初等数论-Base-1(筛法求素数,欧拉函数,欧几里得算法)
    小程序之Tab切换
    vue-axios基本用法
    vue-过渡动画
    vue-router实例
    永恒之蓝漏洞利用复现
  • 原文地址:https://www.cnblogs.com/exmyth/p/4516572.html
Copyright © 2011-2022 走看看