Android-怎么判断android中WebView滑动到了低端
网上好多都是那个通过计算高度来判断的,但是那些需要在触摸的情况下。现在我来说一个情况,比如我在顶端快速的向下滑动,滑到低端是webview通过惯性自己到达的低端,这时候你手指是没有触摸的,这就需要组件自己有一个监听方法,来监听是否到达低端,我想问问各位大侠有没有好的办法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
if(webview.getContentHeight*webview.getScale() -(webvi ew.getHeight()+webview.getScrollY())){
//已经处于底端
}
重写 webview的onFling方法即可,参考楼下的,之前我打错了。
我是这么监听的,不过我是判断是否达到了顶端,我只需要知道scrollY等于0就行了,所以你要判断是否达到底端还需要结合上面答案里面计算网页宽度和缩放率的方法算下网页有多长才知道是否达到了底端。computeScroll()会再每次重绘的时候由ViewGroup回调,所以理论上这个方法只要是“画面在动”就会回调,应该能满足你的需求。
public class ScrollWebView extends WebView {
public static final String TAG = "ScrollWebView";
private OnScrollListener onScrollListener;
public ScrollWebView(Context context) {
super(context);
}
public ScrollWebView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setOnScrollListener(OnScrollListener onScrollListener) {
this.onScrollListener = onScrollListener;
}
@Override
public void computeScroll() {
super.computeScroll();
if (onScrollListener != null) {
onScrollListener.onScroll(this, getScrollX(), getScrollY());
}
}
public static interface OnScrollListener {
void onScroll(WebView wv, int scrollX, int scrollY);
}
}
重写webview 重写onFling方法。
我特意把全部代码列出来,应该你可以直接用了,代码命名格式没有整理,不知能否达到你的意思: