Android-WebView可滚动DIV不显示滚动条

Fra*_*ert 5 html android scrollbar webview

我对 Android webview 有一个奇怪的问题。

我有一个垂直溢出的 DIV,其位置固定。它是完全可滚动的,但看不到滚动条。

这不是早期Android 版本的错误,DIV 滚动根本不起作用。

一些拼凑在一起的准系统 HTML 遇到了这个问题:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
    <title>Test</title>
    <style type="text/css">
        body {padding-left:200px;}
        body > div {position:fixed;left:0px;top:0px;bottom:0px;width:200px;overflow-x:hidden;overflow-y:auto;}
    </style>
</head>
<body>
    <div id="bla"></div>
    <p id="blubb"></p>
    <script type="text/javascript">
        var text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam";
        window.onload = function() {
            for (var i = 0; i < 6; i++) text = text + text;
            document.getElementById("bla").innerHTML = "<b>There is a mystery inside me: I'm scrollable but no one will know....</b><br/>"+text;
            document.getElementById("blubb").innerHTML = "<b>This is body scroll... no problem here!</b><br/>"+text;
        };
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

布局的WebView部分:

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</WebView>
Run Code Online (Sandbox Code Playgroud)

在 onCreate() 中:

webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("the-html-from-above.html");
Run Code Online (Sandbox Code Playgroud)

在 Google Chrome 中,滚动条按预期工作,但在我的 WebView 中,滚动条和 DIV 的过度滚动指示器闪烁丢失,但我可以滚动它。

我的 WebView 有问题。从 5.0 到 8.0 的所有 Android 版本都会发生这种情况。

在我正在做的实际工作中,HTML、CSS 和 JS 实际上被分割成单独的文件。我只是将它们放在一起以获得本文的较小示例。所以这不是原因。此外,原来的东西没有使用/打开 JavaScript。我在这里用它来用巨大的文本填充DIV和BODY,使它们溢出。