gpt4 book ai didi

android - 在 Android Webview 中使用元视口(viewport)宽度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:05 28 4
gpt4 key购买 nike

我想使用 viewport 标签将 html 内容放入 WebView。

<meta name='viewport' content='width=640'/>

这似乎在 Chrome 浏览器中运行良好,但无法缩放以适应 WebView。我做了一个简化的测试 Activity :

public class MyActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//--------------------------------------------------
// Create a simple html page including viewport tag.
//--------------------------------------------------

String html = "<!DOCTYPE html>" +
"<html>" +
"<head>" +
"<meta name='viewport' content='width=640'/>" +
"<title>Viewport Test</title>" +
"</head>" +
"<body style=\"margin: 0px;\">" +
"<div style=\"width: 600px; height: 600px; border: 20px solid green; background-color: red;\"></div>" +
"</body>" +
"</html>";

//-----------------------------------
// Place html in WebView.
//-----------------------------------

WebView webView = new WebView(this);

webView.loadData(html, "text/html", "utf-8");

setContentView(webView);

//-----------------------------------
// Launch Chrome with the same html.
//-----------------------------------

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setComponent(ComponentName.unflattenFromString("com.android.chrome/com.android.chrome.Main"));

intent.setData(Uri.parse("data:text/html;charset=utf-8;base64," + Base64.encodeToString(html.getBytes(), Base64.NO_WRAP)));

startActivity(intent);
}
}

任何人都可以解释原因或提出修复建议吗?

最佳答案

好的,你必须使用:

    WebSettings settings = webView.getSettings();
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);

而且,如果您像这样设置 user-scalable=0,它也会中断:

    <meta name='viewport' content='width=640, user-scalable=0'/>

关于android - 在 Android Webview 中使用元视口(viewport)宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460623/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com