1.监听ScrollView滑动停止:

  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. public boolean onTouch(View v, MotionEvent event) {
  21. if (event.getAction() == MotionEvent.ACTION_UP) {
  22. handler.sendMessageDelayed(handler.obtainMessage(touchEventId, v), 5);
  23. }
  24. return false;
  25. }
  26. private void handleStop(Object view) {
  27. ScrollView scroller = (ScrollView) view;
  28. scrollY = scroller.getScrollY();
  29. }
  30. });
  31. /***********************************************************/

2.监听ScrollView滑动到底部:

    1. package com.example.webviewdemo;
    2. import android.content.Context;
    3. import android.util.AttributeSet;
    4. import android.widget.ScrollView;
    5. public class ScrollBottomScrollView extends ScrollView {
    6. private ScrollBottomListener scrollBottomListener;
    7. public ScrollBottomScrollView(Context context) {
    8. super(context);
    9. }
    10. public ScrollBottomScrollView(Context context, AttributeSet attrs) {
    11. super(context, attrs);
    12. }
    13. public ScrollBottomScrollView(Context context, AttributeSet attrs,int defStyle) {
    14. super(context, attrs, defStyle);
    15. }
    16. @Override
    17. protected void onScrollChanged(int l, int t, int oldl, int oldt){
    18. if(t + getHeight() >=  computeVerticalScrollRange()){
    19. //ScrollView滑动到底部了
    20. scrollBottomListener.scrollBottom();
    21. }
    22. }
    23. public void setScrollBottomListener(ScrollBottomListener scrollBottomListener){
    24. this.scrollBottomListener = scrollBottomListener;
    25. }
    26. public interface ScrollBottomListener{
    27. public void scrollBottom();
    28. }
    29. }

Android中监听ScrollView滑动停止和滑动到底部的更多相关文章

  1. Android 监听 Android中监听系统网络连接打开或者关闭的实现代码

    本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.c ...

  2. Android中监听ListView滑动到底部

    Android中的应用就是ListView中向下滑动加载更多的功能,不要再onScroll方法中进行判断,那样当滑动到底部的时候,触摸屏幕就会又去加载更多,效果很差,可以自行测试一下: listvie ...

  3. android中监听layout布局

    android开发可以对layout文件夹中的xml文件里的布局进行监听,并处理事件,如:对RelativeLayout,LinearLayout,FrameLayout,GridLayout等布局容 ...

  4. 如何在vue中监听scroll,从而实现滑动加载更多

    首先需要明确3个定义: 文档高度:整个页面的高度 可视窗口高度:你看到的浏览器可视屏幕高度 滚动条滚动高度: 滚动条下滑过的高度 当 文档高度 = 可视窗口高度 + 滚动条高度  时,滚动条正好到底. ...

  5. Android中监听webview监听是否加载完成

    之前写过一篇捕获Phoengap的webview事件的方法,主要是在实现了CordovaInterface的Activity中,  在onMessage中根据第一个参数的message name来判断 ...

  6. ios监听ScrollView/TableView滚动的正确姿势

    主要介绍 监测tableView垂直滚动的舒畅姿势 监测scrollView/collectionView横向滚动的正确姿势 1.监测tableView垂直滚动的舒畅姿势 通常我们用KVO或者在scr ...

  7. Android监听ScrollView滑动到顶端和底部

    Android监听ScrollView滑动到顶端和底部     package cn.testscrollview; import android.os.Bundle; import android. ...

  8. Android 监听 ScrollView 滑动到最底部。

    做产品时,有一个需求,需要监听ScrollView滑动到最底部.在网上找了些方法,都有这样或那样的问题,要不就是监听不精确, 要不就是重复监听,那些代码没有产品化,很不可靠. 经过自己试验,终于找到了 ...

  9. Android之监听手机软键盘弹起与关闭

    背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起 ...

随机推荐

  1. 插入排序(C++)

    插入排序(C++) 插入排序: 写这篇博文是为了增加对数据结构和算法的理解,同事增加编程的基本功. 当要对如下数据进行排序: 2,8,5,4,6,7,1 2,8,5,4,6,7,1    采用插入排序 ...

  2. SGU 222.Little Rooks

    题意: 求在n*n(n<10)的棋盘上放k个车(水平竖直行走)的方案数. Solution SGU220的简化版.直接DP 显然当k>n时,ans=0; f[i][j]代表在前n行放了j个 ...

  3. 解决Collection was modified; enumeration operation may not execute异常

    今天在使用foreach循环遍历list集合时,出现Collection was modified; enumeration operation may not execute.这个错误,查了半天才发 ...

  4. BZOJ 1563 诗人小G

    Description Input Output 对于每组数据,若最小的不协调度不超过\(10^{18}\),则第一行一个数表示不协调度若最小的不协调度超过\(10^{18}\),则输出"\ ...

  5. 在SystemOut.log中发现HMGR0152W: 检测到CPU 饥饿的消息 <转载>

    今天系统报警了!!!!!顿时人又不好了!!!查看系统日志, 报错如下: Did not receive adequate CPU time slice. Last known CPU usage ti ...

  6. 整整68页学习C++的文章

    有空看看,有不少好东西: http://dev.21tx.com/language/c/index.shtml

  7. Java工程转换为Maven工程

    1. 前言 在开发中经常要建立一个Maven的子工程,对于没有模板的同学来说从Java工程来转换也是一个不错的选择.本文就如何从一个Java工程创建一个Maven工程做了一个介绍,相信对于将一个Jav ...

  8. 同一张表不同SESSION相互持有对方记录引发的死锁

    锁产生的原因:如果有两个会话,每个会话都持有另一个会话想要的资源,此时就会发生死锁. 同一张表不同SESSION持有不同记录 SQL> create table t1(id int); Tabl ...

  9. bzoj3339 bzoj3585

    两题本质是一样,只不过3585要离散化这种不修改,不强制的问题,显然先考虑离线算法这道题的思路和bzoj1878非常像考虑到如果只是求每个前缀的mex,我们是很容易扫一遍就得出来的我们设为这个位置的m ...

  10. BZOJ 1093 [ZJOI2007]最大半连通子图

    1093: [ZJOI2007]最大半连通子图 Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 1986  Solved: 802[Submit][St ...