Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android webview 4.4 css 100%不显示任何内容_Android_Css_Webview_Android 4.4 Kitkat - Fatal编程技术网

Android webview 4.4 css 100%不显示任何内容

Android webview 4.4 css 100%不显示任何内容,android,css,webview,android-4.4-kitkat,Android,Css,Webview,Android 4.4 Kitkat,在Android webview中,我加载了一个简单的html页面,该页面的div设置为100%宽度和高度。我在浏览器中工作正常,但是在Galaxy Nexus 4.4.2上,我看不到内容div。 调试div时,内容似乎没有宽度 以下是webview设置: setScrollContainer(false); setBackgroundColor(Color.RED); setHorizontalScrollBarEnabled(false); setHorizo

在Android webview中,我加载了一个简单的html页面,该页面的div设置为100%宽度和高度。我在浏览器中工作正常,但是在Galaxy Nexus 4.4.2上,我看不到内容div。 调试div时,内容似乎没有宽度

以下是webview设置:

    setScrollContainer(false);
    setBackgroundColor(Color.RED);
    setHorizontalScrollBarEnabled(false);
    setHorizontalScrollbarOverlay(false);
    setVerticalScrollBarEnabled(false);
    setVerticalScrollbarOverlay(false);
    this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

    WebSettings ws = getSettings();
    ws.setSupportZoom(false);
    ws.setJavaScriptEnabled(true);
    ws.setUseWideViewPort(true);
    ws.setLoadWithOverviewMode(true);
    ws.setCacheMode(WebSettings.LOAD_NO_CACHE);
    ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
    ws.setAllowFileAccess(true);
    ws.setAllowFileAccessFromFileURLs(true);
以下是示例html:

<html>
 <head>
    <title>Title</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta http-equiv="cache-control" content="no-cache" />
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta id="myvp" name="viewport" content="width=400, height=300, initial-scale=1.0">
        <link rel="stylesheet" type="text/css" href="./main.css">
    </head>
    <body>
    <div class="component">
            <input type="text">
    </div>
    </body>
</html>
有了这个,我希望看到一个带有文本字段的绿色框。 相反,我只看到身体的蓝色背景。 如果我删除溢出,我可以看到文本字段,但它是不可选择的 如果是100%替换为固定值,我将看到一个绿色框,但文本字段同样不可选择

假设组件div没有显示,因为当使用100%时,其w/h为0。 有人知道这是为什么吗? 以及为什么我不能输入任何文本


谢谢

所以问题是我们过度编写了onSizeChanged方法,没有调用super。 调用Super.onSizeChangedw,h,oldw,oldh修复了这个问题。
感谢所有的输入

为什么要这样设置视口?有问题吗?最初,我们在javascript中设置视口以匹配不是全屏的webview的大小。这里我们加入一些固定值以简化调试
body {
    background-color: blue;
}

.component {
    width: 100%;
    height: 100%;
    background-color: green;
    overflow: hidden;
}