Android中监听ScrollView滑动停止和滑动到底部
2015-05-26 21:06
197 查看
1.监听ScrollView滑动停止:
[java] view plaincopy
/********************监听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滑动到底部:
[java] view plaincopy
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();
}
}
[java] view plaincopy
/********************监听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滑动到底部:
[java] view plaincopy
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中监听ScrollView滑动停止和滑动到底部
- Android 自定义ScrollView嵌套滚动兼容,监听滑动状态:顶部、底部、停止、滑动中
- Android - ScrollView 监听滑动停止,顶部还是底部?
- android监听ScrollView滑动停止
- Android监听ScrollView滑动到顶端和底部
- ScrollView监听停止滑动,判断是否滑到底部
- Android 监听 ScrollView 滑动到最底部
- android ScrollView嵌套ListView自动滑动到底部,嵌套ViewPager出现的滑动冲突以及监听滑动停止
- Android ScrollView监听滑动到顶部和底部的两种方式
- Android控件:ScrollView的使用,滑动到底部的监听
- Android监听ListView停止的时候是不是滑动到底部
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android监听ScrollView或NestedScrollView滑动到顶部和底部
- Android监听ScrollView滑动到顶端和底部
- Android 监听 ScrollView 滑动到最底部,实现阅读协议,滑动到最低端显示已阅读按钮(2017版本)
- [置顶] Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
- Android监听ScrollView滑动到顶端和底部
- Android 监听 ScrollView 滑动到最底部。