我对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>
布局的WebView部分:
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
在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");
在Google Chrome浏览器中,滚动条可以按预期工作,但是在我的WebView中,缺少DIV的滚动条和超速指示器闪烁,但是我可以滚动它。
我的WebView出了点问题。从5.0到8.0的所有版本的Android都会发生这种情况。
实际上,我正在将HTML,CSS和JS拆分成单独的文件。我只是将其放在一起以获得该帖子的一个较小示例。因此,这不是原因。此外,原始的东西没有使用/打开JavaScript。我在这里用它用大量的文字填充DIV和BODY,使它们溢出。