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. 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滑动到底部:

[java] view plaincopy

    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. }
时间: 2024-08-06 03:41:16

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

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

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

Android中监听ListView滑动到底部

Android中的应用就是ListView中向下滑动加载更多的功能,不要再onScroll方法中进行判断,那样当滑动到底部的时候,可能我们需要触发点什么事件,比如加载更多.隐藏某个控件等等. 第一种方法是直接滑动到底部就触发 listview.setOnScrollListener(new OnScrollListener(){       @Override       public void onScrollStateChanged(AbsListView view, int scrollS

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

之前写过一篇捕获Phoengap的webview事件的方法,主要是在实现了CordovaInterface的Activity中,  在onMessage中根据第一个参数的message name来判断webview的加载事件.不过如果是在Fragment中,一个Activity加载了多个包含了WebView的fragment的话,就无法在onMessage中判断到底是哪个WebView的加载事件. 经过尝试,发现,还是可以使用setWebViewClient的方式来,来重写WebViewClie

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

主要介绍 监测tableView垂直滚动的舒畅姿势 监测scrollView/collectionView横向滚动的正确姿势 1.监测tableView垂直滚动的舒畅姿势 通常我们用KVO或者在scrollViewDidScroll代理方法中监听ScrollView/TableView的contentOffset,比如监听TableView的contentOffset来设置导航栏的透明度或者拉伸顶部的图片. image image 常见的姿势是在scrollViewDidScroll的代理方法中

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

MainActivity如下: package cn.testscrollview; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ScrollView; import android.app.Activity; /** * Demo描述: * 监

Android 监听 ScrollView 滑动到最底部。

做产品时,有一个需求,需要监听ScrollView滑动到最底部.在网上找了些方法,都有这样或那样的问题,要不就是监听不精确, 要不就是重复监听,那些代码没有产品化,很不可靠. 经过自己试验,终于找到了个能够精确监听的实现方法.代码如下: 1 public class ScrollBottomScrollView extends ScrollView { 2 3 private OnScrollBottomListener _listener; 4 private int _calCount; 5

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

背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭. 预备知识: 在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下: android:windowSoftInputMode="stateAlwaysHidden|adjustPan" 那么这里值的含

Android怎样监听蓝牙耳机的按键事件

写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「Bluedio + 红米手机」. 1.蓝牙耳机的使用 蓝牙耳机的使用说明书中都会有相关的具体使用说明,这里拣重点说明一下.除了电源开关,耳机上一般有三个键.例如以下所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FuZ2Vhcg==/font/5a6L5L2T/fontsize/40

Android:监听ListView

本文目录 监听ListView点击事件 监听ListView滚动事件 监听ListView点击事件 使用监听器OnItemClickListener package com.example.testsend; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView.OnIte