我输入WebView 数据,期望图片和文字一样占据整个屏幕宽度。但在侧面,文字和图片都有大约8dp.
在活动课上:
// Set content
String content = bodyContent; //сюда передаю тело документа с разметкой.
Display display = getWindowManager().getDefaultDisplay();
int displayWidth = display.getWidth();
View webLayout = getLayoutInflater().inflate(R.layout.partial_article_web, null);
web = webLayout.findViewById(R.id.content);
WebSettings settings = web.getSettings();
settings.setTextZoom(storage.getTextZoom());
settings.setSupportZoom(false);
settings.setJavaScriptEnabled(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
web.addJavascriptInterface(this, "android");
web.loadDataWithBaseURL("", asHtmlPage(content, "text/html", "utf-8", null);
这就是我形成加载数据的方式WebView:
private String asHtmlPage(String body) {
String style = "<style>" +
"body { font-family: 'sans-serif-light', sans-serif; }" +
"img { display: inline; height: auto; max-width: 100%; } " +
"</style>";
String meta = "<meta name='viewport' content='width=device-width, initial-scale=1'>";
return "<html><head>" + style + meta + "</head><body>" + body + "</body></html>";
}
标记WebView:
<WebView
android:id="@+id/content"
style="?android:textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:scrollbars="none" />
试过:
评论
settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true);- 将块
meta从移动<head>到<body> 改变:
<meta name='viewport' content='width=" + displayWidth + " , initial-scale=1'>";风格
max-width: 100%;改为max-width: " + displayWidth + ";
我上传的内容本身没有任何缩进和边框。
帮我弄清楚这个意想不到的 Padding 是从哪里来的。
UPD:根据@Timur Mukhortov 的说法,我@dimen/activity_horizontal_margin在.xmlWebView16dp
在您的变量
content中,添加以下容器: