Android中监听ScrollView滑动停止和滑动到底部
1.监听ScrollView滑动停止:
- /********************监听ScrollView滑动停止*****************************/
- scrollView.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();
- }
- }
- }
- };
- 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;
- scrollY = scroller.getScrollY();
- }
- });
- /***********************************************************/
2.监听ScrollView滑动到底部:
- package com.example.webviewdemo;
- import android.content.Context;
- import android.util.AttributeSet;
- import android.widget.ScrollView;
- public class ScrollBottomScrollView extends ScrollView {
- private ScrollBottomListener scrollBottomListener;
- public ScrollBottomScrollView(Context context) {
- super(context);
- }
- public ScrollBottomScrollView(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
- public ScrollBottomScrollView(Context context, AttributeSet attrs,int defStyle) {
- super(context, attrs, defStyle);
- }
- @Override
- protected void onScrollChanged(int l, int t, int oldl, int oldt){
- if(t + getHeight() >= computeVerticalScrollRange()){
- //ScrollView滑动到底部了
- scrollBottomListener.scrollBottom();
- }
- }
- public void setScrollBottomListener(ScrollBottomListener scrollBottomListener){
- this.scrollBottomListener = scrollBottomListener;
- }
- public interface ScrollBottomListener{
- public void scrollBottom();
- }
- }
Android中监听ScrollView滑动停止和滑动到底部的更多相关文章
- Android 监听 Android中监听系统网络连接打开或者关闭的实现代码
本篇文章对Android中监听系统网络连接打开或者关闭的实现用实例进行了介绍.需要的朋友参考下 很简单,所以直接看代码 复制代码 代码如下: package xxx; import android.c ...
- Android中监听ListView滑动到底部
Android中的应用就是ListView中向下滑动加载更多的功能,不要再onScroll方法中进行判断,那样当滑动到底部的时候,触摸屏幕就会又去加载更多,效果很差,可以自行测试一下: listvie ...
- android中监听layout布局
android开发可以对layout文件夹中的xml文件里的布局进行监听,并处理事件,如:对RelativeLayout,LinearLayout,FrameLayout,GridLayout等布局容 ...
- 如何在vue中监听scroll,从而实现滑动加载更多
首先需要明确3个定义: 文档高度:整个页面的高度 可视窗口高度:你看到的浏览器可视屏幕高度 滚动条滚动高度: 滚动条下滑过的高度 当 文档高度 = 可视窗口高度 + 滚动条高度 时,滚动条正好到底. ...
- Android中监听webview监听是否加载完成
之前写过一篇捕获Phoengap的webview事件的方法,主要是在实现了CordovaInterface的Activity中, 在onMessage中根据第一个参数的message name来判断 ...
- ios监听ScrollView/TableView滚动的正确姿势
主要介绍 监测tableView垂直滚动的舒畅姿势 监测scrollView/collectionView横向滚动的正确姿势 1.监测tableView垂直滚动的舒畅姿势 通常我们用KVO或者在scr ...
- Android监听ScrollView滑动到顶端和底部
Android监听ScrollView滑动到顶端和底部 package cn.testscrollview; import android.os.Bundle; import android. ...
- Android 监听 ScrollView 滑动到最底部。
做产品时,有一个需求,需要监听ScrollView滑动到最底部.在网上找了些方法,都有这样或那样的问题,要不就是监听不精确, 要不就是重复监听,那些代码没有产品化,很不可靠. 经过自己试验,终于找到了 ...
- Android之监听手机软键盘弹起与关闭
背景: 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起 ...
随机推荐
- js数学方法应用
找出数组中最大的数 var values = [1, 2, 3, 4, 5, 6, 7, 8]; alert(Math.min.apply(Math,values))//8 这个技巧的关键是把 Mat ...
- CPU与外设传送数据方式
7.2 CPU与外设之间数据传送的方式 在微型计算机系统中,CPU与外设之间的数据传送方式主要有程序传送方式.中断传送方式和直接存储器存取(DMA)传送方式,分别介绍如下. 7.2.1 程序传 ...
- Python 基础-python函数
函数 1.def 2.命名 3.函数体 4.return 返回值 def get_return(): a = 1 return a 函数参数有 形参和实参 定义几个形参就 ...
- Django socketio 安装
如果你还没有安装过 gevent,首先需要安装 libevent, 编译安装 libevent 需要安装 Pyhton 开发库. 在Debain上可以运行如下指令: $ sudo apt-get in ...
- 03:计算(a+b)/c的值
总时间限制: 1000ms 内存限制: 65536kB 描述 给定3个整数a.b.c,计算表达式(a+b)/c的值,/是整除运算. 输入 输入仅一行,包括三个整数a.b.c, 数与数之间以一个空格 ...
- 实战EntityFramework
删除对象一定要在同一个context 我尝试这在两个方法中使用两个context(Container)实例来进行一个获得一个删除,结果我获得的”The object cannot be deleted ...
- 20141127 测试使用Word2013书写博客(代码高亮+公式支持)。
PS :又经过几次测试,发现用于Word2010的高亮插件在Word2013上排版效果不是很好,慎用.不过公式编辑倒是挺方便的 测试使用Word2013书写博客. 大概一个月前,使用WindowL ...
- 工作总结:MFC使用Windows自带打开对话框
代码: ; //Win98 as default LPARAM lModuleParam = ; TV_INSERTSTRUCT tvItem; CString sPathNameSel; ];//1 ...
- windows C 与 linux C区别?
windows C库格式为 .dll( 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件). ...
- Nine Great Books about Information Visualization
Nine Great Books about Information Visualization Maybe it’s anachronistic to celebrate static, print ...