自定义ScrollView,实现ScrollView滑动监听并记录滑动位置。
来源:互联网 发布:在淘宝怎么买机票 编辑:程序博客网 时间:2024/05/27 00:38
Android自带的ScrollView对于滑动监听接口没有开放,然而在许多时候记录ScrollView的滑动位置,实现这个功能比较简单,自己实现一个ObserveScrollView类来继承ScrollView,然后重写里面的onScrollChanged(int l, int t, int oldl, int oldt)方法,本方法就是ScrollView的滑动监听,接着声明一个接口,在重写的方法里利用接口回调,将滑动的数据传出去。
onScrollChanged(int l, int t, int oldl, int oldt)方法的4个参数,以屏幕的左上角为(0,0)点,l表示滑动后的x值,oldl表示滑动前的x位置,t表示滑动后的y值,oldt表示滑动前的y位置。
下面直接上代码:
public class ObserveScrollView extends ScrollView {private ScrollListener mListener; public static interface ScrollListener {//声明接口,用于传递数据public void scrollOritention(int l, int t, int oldl, int oldt);}public ObserveScrollView(Context context, AttributeSet attrs,int defStyle) {super(context, attrs, defStyle);// TODO Auto-generated constructor stub}public ObserveScrollView(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public ObserveScrollView(Context context) {super(context);// TODO Auto-generated constructor stub}@Overrideprotected void onScrollChanged(int l, int t, int oldl, int oldt) {// TODO Auto-generated method stubsuper.onScrollChanged(l, t, oldl, oldt);if (mListener != null) {mListener.scrollOritention(l, t, oldl, oldt);}}public void setScrollListener(ScrollListener l) {this.mListener = l;}}
然后在布局文件中用重写的ObserveScrollView代替自带的ScrollView,并在代码中设置监听器。
scrollview.setScrollListener(new ScrollListener() {@Overridepublic void scrollOritention(int l, int t, int oldl, int oldt) {// TODO Auto-generated method stub//滑动数据已经接收,在这里实现你的功能}});
3 0
- 自定义ScrollView,实现ScrollView滑动监听并记录滑动位置。
- scrollview监听滑动位置
- 监听ScrollView滑动方向
- ScrollView滑动的监听
- ScrollView 滑动监听
- Android ScrollView滑动监听
- ScrollView的滑动监听
- ScrollView的滑动监听
- ScrollView滑动监听
- scrollview的滑动监听(自定义)
- 自定义ScrollView,监听滑动回至顶…
- 安卓下自定义监听滑动的ScrollView
- iOS自定义scrollview的滑动停止位置
- 从源码出发:ScrollView实现以惯性滑动的形式滑动到任意位置/禁止惯性滑动/监听惯性滑动
- Android中自定义ScrollView的滑动监听事件,并在滑动时渐变标题栏背景颜色
- Android中实现监听ScrollView滑动事件
- ScrollView滑动监听实现界面动画效果
- 【ScrollView】Android ScrollView监听滑动事件
- linux shell编程
- 简单图像算术
- 2015多校赛第六场
- web 发布
- 说说IOPS的重要指标
- 自定义ScrollView,实现ScrollView滑动监听并记录滑动位置。
- POJ--3278 Catch That Cow
- 内存泄露和内存溢出
- 杭电acm 2143 box
- JAVA通过生日计算星座
- 桶排序算法详解
- Qt与C语言交互探讨
- 【华为oj】m个苹果方n个盘子,多少种方法?
- ZOJ 2748 Free Kick