Tim*_*ton 6 android android-webview
我试图使用webview的滚动位置来确定SwipeRefreshLayout是否应该能够刷新,除了一些网站,例如https://jobs.lever.co/memebox,getScrollY()总是返回0.有没有办法确保我会总是得到正确的滚动位置?
小智 5
也许您可以尝试将其添加到自定义Web视图中
只是告诉它正在滚动
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
if(this.getScrollY() <= 0){
this.scrollTo(0,1);
}
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
然后覆盖 onScrollChanged
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);;
if (iWebViewScrollListener != null && t == 0) {
iWebViewScrollListener .onTop();
} else if (mIWebViewScroll != null && t != 0) {
iWebViewScrollListener .notOnTop();
}
}
Run Code Online (Sandbox Code Playgroud)
添加一个顶级监听回调时scrolling.When是onTop()使用setEnabled(true)了SwipeRefreshLayout,否则setEnabled(false)
您链接的网站有一个固定的标题。我的猜测是页面本身不会滚动;它里面的一个容器确实如此。无法WebView检查页面上的每个可滚动容器,因此它会看到顶级容器不会滚动并假设整个容器是固定的。
如果您只需要下拉刷新,我建议除了SwipeRefreshLayout.
| 归档时间: |
|
| 查看次数: |
3430 次 |
| 最近记录: |