【问题标题】:WebView's scroll distance from topWebView 到顶部的滚动距离
【发布时间】:2019-01-26 20:42:53
【问题描述】:

我正在构建一个 Android 应用,其中 MainActivity 中的 WebView 包裹在滑动刷新布局中。

现在我想做的是,如果 webview 向下滚动(即使是一小段距离),我想隐藏滑动刷新布局。如果 webview 没有滚动,即它的内容在顶部,我想显示滑动刷新布局。

这是因为如果 webview 滚动,它会导致一个问题,当我向上滚动时,会调用滑动刷新布局并且不会让 webview 向上滚动。

我试过这个:

final int content_height = (int) Math.floor(webView.getContentHeight() * getResources().getDisplayMetrics().density);
webView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
        @Override
        public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
          if(scrollY!=content_height) {
                swipeRefreshLayout.setVisibility(View.GONE);
          }
          else {
                swipeRefreshLayout.setVisibility(View.VISIBLE);
          }
     }
});

【问题讨论】:

  • 在布局上致电setNestedScrollingEnabled (true)

标签: android webview


【解决方案1】:

试试这个,

webView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
    @Override
    public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
      if(scrollY == 0) {
            swipeRefreshLayout.setVisibility(View.VISIBLE);
      }
      else {
            swipeRefreshLayout.setVisibility(View.GONE);
      }
 }
});

【讨论】:

  • 但它会导致禁用屏幕上的所有内容,因为 web 视图位于 SwipeRefreshLayout
猜你喜欢
  • 1970-01-01
  • 2018-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多