参考: Android开发--------------WebView(二)之WebView的滑动底部顶部监听,加载进度条等设置

 

最近项目有这样的需求,上网查了,很多都是说继承webview,重写onScrollChanged,通过计算getContentHeight() * getScale()和getHeight() + getScrollY(), 然后判断Math.abs(webcontent - webnow) < 1 的. 但是最近发现在部分设备上会有问题. 这些安卓手机可以隐藏掉下面的返回键,home键和菜单键的.也可以显示.可能因为如此,webview就不知道它的底部具体在哪里了.Math.abs(webcontent - webnow)的值有可能等于1甚至大于1.

后来同事介绍说可以用onOverScrolled, 它的参数是(scrollX, scrollY, clampedX, clampedY),其中第四个是当ScrollView滑动到下边界的时候值为true. 那如果你就这么用 if(clampedY)来判断就要小心了,会有小瑕疵,往下拉完后再往上,一样会触发.必须加上scrollY != 0 来一起判断.

所以如果要完整实现网页加载完毕,监听网页滚动到底部才触发某些事件的话,那就可以设个标识,在onPageFinished的时候设为true,然后在onOverScrolled里, 判断if(clampedY &&  scrollY !=0) 再回调自定义listener的onPageEnd,再加上加载完毕的标识为true,这样就可以实现网页加载完毕后,滚动到底部的监听了.

更多相关文章

  1. Android(安卓)之SearchView翻译
  2. Android(安卓)通话处理流程【转】
  3. Android中监听EditText文本输入
  4. 博文目录 | 杰瑞教育原创系列文章目录一览
  5. 关于android WebViewClient 的方法解释
  6. Android(安卓)studio 无法创建Android项目
  7. Android(安卓)BaseRecyclerViewAdapterHelper 使用中的一些坑
  8. android滑动事件监听
  9. [置顶] android仿最新版本微信相册--附源码

随机推荐

  1. Google Maps Android(安卓)API v2说明
  2. (翻译)VectorDrawables的使用
  3. android webView判断是否加载完成的2种办
  4. Android实用代码片段(二)
  5. 2013.12.03(8) ——— android ActionbarSh
  6. Android(安卓)SDK腾讯镜像
  7. SearchView 自动展开和弹出输入法
  8. android 应用程序使用统计
  9. Android(安卓)Apkshare
  10. Android(安卓)Fresco监听回调,成功调回Bi