Android中监听ScrollView滑动停止和滑动到底部
2013-11-29 14:18
405 查看
1.监听ScrollView滑动停止:
2.监听ScrollView滑动到底部:
重写ScrollView的onScrollChanged的方法。
/********************监听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(); } }
重写ScrollView的onScrollChanged的方法。
相关文章推荐
- android 获得ImageView中Image的绘制大小
- 安装apk到android虚拟机
- 通过Html网页调用本地安卓(android)app程序代码
- Android中监听ListView滑动到底部
- android framework 输入事件分析
- android 中使用 canvas 写文字的最佳方式
- mtk android sd卡调试
- android中画文字的换行 办法(对于遇到canvas.drawText(String s )无法实现换行问题的解决
- Android Service 之(Bind Service,使用 Messenger)
- Android Service 之(Bind Service, 继承自 Binder 类)
- android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位
- android 关机
- Android中如何判断是否联网
- 修改Android镜像文件 ramdisk.img、system.img、userdata.img获取root权限
- Android 使用getIdentifier()获取资源Id
- Android横屏竖屏判断--全屏设置--取屏幕宽高
- Android中Bitmap, Drawable, Byte之间的转化
- Ubuntu下Android NDK环境搭建笔记
- Android 打包几种报错情况和解决办法proguard returned with error code 1.
- Android后台发送短信 是否发送成功提醒