怎么判断scrollView往什么方向滑动

 我来答
greystar_cn
2015-09-20 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
/**
* 可以监听ScrollView的上下滑动 ,实现ScrollListener接口,调用setScrollListener(ScrollListener l)方法。
* SCROLL_UP :ScrollView正在向上滑动
* SCROLL_DOWN :ScrollView正在向下滑动
* @author xm
*/
public class ObservableScrollView extends ScrollView {

private ScrollListener mListener;

public static interface ScrollListener {
public void scrollOritention(int oritention);
}

/**
* ScrollView正在向上滑动
*/
public static final int SCROLL_UP = 0x01;

/**
* ScrollView正在向下滑动
*/
public static final int SCROLL_DOWN = 0x10;

/**
* 最小的滑动距离
*/
private static final int SCROLLLIMIT = 40;

public ObservableScrollView(Context context) {
super(context, null);
}

public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs, 0);
}

public ObservableScrollView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);

if (oldt > t && oldt - t > SCROLLLIMIT) {// 向下
if (mListener != null)
mListener.scrollOritention(SCROLL_DOWN);
} else if (oldt < t && t - oldt > SCROLLLIMIT) {// 向上
if (mListener != null)
mListener.scrollOritention(SCROLL_UP);
}
}

public void setScrollListener(ScrollListener l) {
this.mListener = l;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式