Android - webview中的图像不适合屏幕

时间:2017-01-25 18:53:15

标签: android html css webview

我希望在屏幕上显示来自webservice并在webview上查看的图像。

我成功完成了视频,他们可以适应屏幕。

这是css代码;

<style type="text/css">

    iframe {
        display: block;
        max-width:100%;
        margin-top:10px;
        margin-bottom:10px;
    }

    img {
        display: block;
        margin-top:10px;
        margin-bottom:10px;
        max-width:100%;
        height:100%;
        background-size: cover;
        width: auto !important;
        resize:both;
        background:no-repeat fixed;
    }

</style>

我在基于谷歌搜索的CSS代码上尝试了很多东西,但是我无法让它适合屏幕。

然后我将此CSS添加到webview内容。

    String str = "<style type=\"text/css\">\n" +
            "    iframe {\n" +
            "        display: block;\n" +
            "        max-width:100%;\n" +
            "        margin-top:10px;\n" +
            "        margin-bottom:10px;\n" +
            "    }\n" +
            "\n" +
            "    img {\n" +
            "            display: block;\n" +
            "            margin-top:10px;\n" +
            "            margin-bottom:10px;\n" +
            "            max-width:100%;\n" +
            "            height:100%;\n" +
            "            background-size: cover;\n" +
            "            width: auto !important;\n" +
            "            resize:both;\n" +
            "            background:no-repeat fixed;\n" +
            "        }\n" +
            "\n" +
            "</style>"+currentNews.getContent();

然后我加载视图;

content.loadDataWithBaseURL("file:///android_asset/", str, "text/html", "utf-8", null);

我只获得了非缩放形式或裁剪版本。提前谢谢。

this is non-scaled version

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题所在。显然我的html数据在服务器端获得了另一种CSS样式。

为了能够强制它使用我的风格我已经使用!important来获取我的css属性。当它完美地运作时,感觉非常好。

<style type="text/css">
iframe {
    display: block;
    max-width:100%;
    margin-top:10px;
    margin-bottom:10px;
}

img {
    height: auto !important;
    max-width: 100% !important;
    }

</style>

然后我将该样式粘贴到str的字符串变量中,并将其他html数据添加到str字符串变量中。然后我加载如下的html。

content.loadDataWithBaseURL("file:///android_asset/", str, "text/html", "utf-8", null);

所以诀窍只是!important