今天碰到需求,做帖子阅读时全屏阅读状态下,由于使用的webview展现,需要判断webview滑动到最底部是变为非全屏状态,以及全屏状态滑动到顶部时再次变为非全屏。
有点绕嘴,简单说就是判断当webview的滚动条滑动到底部和顶部时进行一些监听捕获。
如何捕获呢:
首先给webview添加手势动作:
具体添加手势我不写了,不知道的搜下百度,
在手势的 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {}代码中进行判断:
代码:
if((int)(mWebView.getContentHeight()*mWebView.getScale()) == (mWebView.getHeight() + mWebView.getScrollY())){
//滑动到底部,你要做的事····· }
if(mWebView.getScrollY() == 0){
//滑动到顶部,你要做的事···· }
首先是滑动到底部记得需要(int)(mWebview.getContentHeight*mWebView.getScale())强转正int型去掉后面的小数点
mWebview.getContentHeight:得到mWebview的内容高度,由于mWebview有缩放因此需要乘以他的缩放值mWebView.getScale()
mWebView.getHeight():当前mWebView显示的高度
mWebView.getScrollY():mWebView竖直方向上滚动的高度,若为0说明滚动条在顶部了