博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中监听ScrollView滑动停止和滑动到底部
阅读量:5888 次
发布时间:2019-06-19

本文共 1881 字,大约阅读时间需要 6 分钟。

1.监听ScrollView滑动停止:

 

[java] 
 
  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] 
 
    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. }  

转载地址:http://idgix.baihongyu.com/

你可能感兴趣的文章
vi(vim)快速入门 常用指令
查看>>
我和python的初相识
查看>>
window linux 路径写法(转载)
查看>>
mysql 字符串字段中查找非ascii字符
查看>>
日常开发常用网站(持续更新……)
查看>>
7-8 哈利·波特的考试(25 分)(图的最短路径Floyd算法)
查看>>
《高老头》
查看>>
Javascript 弹出窗口总结(收集)
查看>>
ERP实施顾问,请找准自己的定位
查看>>
Android studio 3.1.2报错,no target device found
查看>>
Tarjan 割边(桥)
查看>>
Dubbo服务,后台管理,监控中心搭建的简单实践
查看>>
poj 1321 棋盘问题
查看>>
Python基本图形绘制
查看>>
捷径 - The certain shortcut
查看>>
windows与windows之间传输文件
查看>>
拓展+属性
查看>>
struts2 常量
查看>>
端口的作用
查看>>
VS XCOPY
查看>>