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
        }
    });
  • 相关阅读:
    李洪强经典面试题43
    李洪强经典面试题42
    李洪强经典面试题41-iOS选择题
    HTTP头部解析
    iOS
    内网安全工具之hscan扫描
    跟着百度学PHP[4]OOP面对对象编程-17-多态
    绕过注入学习笔记
    引用/别名
    跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
  • 原文地址:https://www.cnblogs.com/exmyth/p/4516572.html
Copyright © 2011-2022 走看看