• Android中监听ScrollView滑动停止和滑动到底部


    1.监听ScrollView滑动停止:

    [java] view plaincopy
     
    1. /********************监听ScrollView滑动停止*****************************/  
    2. scrollView.setOnTouchListener(new OnTouchListener() {  
    3.     private int lastY = 0;  
    4.     private int touchEventId = -9983761;  
    5.     Handler handler = new Handler() {  
    6.         @Override  
    7.         public void handleMessage(Message msg) {  
    8.             super.handleMessage(msg);  
    9.             View scroller = (View) msg.obj;  
    10.             if (msg.what == touchEventId) {  
    11.                 if (lastY == scroller.getScrollY()) {  
    12.                     handleStop(scroller);  
    13.                 } else {  
    14.                     handler.sendMessageDelayed(handler.obtainMessage(touchEventId, scroller), 5);  
    15.                     lastY = scroller.getScrollY();  
    16.                 }  
    17.             }  
    18.         }  
    19.     };  
    20.   
    21.   
    22.     public boolean onTouch(View v, MotionEvent event) {  
    23.         if (event.getAction() == MotionEvent.ACTION_UP) {  
    24.             handler.sendMessageDelayed(handler.obtainMessage(touchEventId, v), 5);  
    25.         }  
    26.         return false;  
    27.     }  
    28.   
    29.   
    30.     private void handleStop(Object view) {  
    31.         ScrollView scroller = (ScrollView) view;  
    32.         scrollY = scroller.getScrollY();  
    33.     }  
    34. });  
    35. /***********************************************************/  



    2.监听ScrollView滑动到底部:

    [java] view plaincopy
     
      1. package com.example.webviewdemo;  
      2.   
      3. import android.content.Context;  
      4. import android.util.AttributeSet;  
      5. import android.widget.ScrollView;  
      6.   
      7. public class ScrollBottomScrollView extends ScrollView {  
      8.   
      9.     private ScrollBottomListener scrollBottomListener;  
      10.   
      11.     public ScrollBottomScrollView(Context context) {  
      12.         super(context);  
      13.     }  
      14.   
      15.     public ScrollBottomScrollView(Context context, AttributeSet attrs) {  
      16.         super(context, attrs);  
      17.     }  
      18.   
      19.     public ScrollBottomScrollView(Context context, AttributeSet attrs,int defStyle) {  
      20.         super(context, attrs, defStyle);  
      21.     }  
      22.   
      23.     @Override  
      24.     protected void onScrollChanged(int l, int t, int oldl, int oldt){  
      25.         if(t + getHeight() >=  computeVerticalScrollRange()){  
      26.             //ScrollView滑动到底部了  
      27.             scrollBottomListener.scrollBottom();  
      28.         }  
      29.     }  
      30.   
      31.     public void setScrollBottomListener(ScrollBottomListener scrollBottomListener){  
      32.         this.scrollBottomListener = scrollBottomListener;  
      33.     }  
      34.   
      35.     public interface ScrollBottomListener{  
      36.         public void scrollBottom();  
      37.     }  
      38.   
      39. }  
  • 相关阅读:
    oracle 查詢表字段明細、字段注釋、表註釋
    Linux Oracle服务启动&停止脚本与开机自启动
    Tomcat7中配置Oracle 11g数据库DBCP连接池
    使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool
    【转】Linux下常用压缩 解压命令和压缩比率对比
    【转】HttpClient容易忽视的细节——连接关闭
    JAVA实现图片验证码
    Flyme密码验证策略升级,忘记锁屏密码及「关机密码」功能
    【转】SpringBoot自定义序列化的使用方式--WebMvcConfigurationSupport
    inux中查看各文件夹大小命令:du -h --max-depth=1
  • 原文地址:https://www.cnblogs.com/exmyth/p/4531765.html
Copyright © 2020-2023  润新知