6

PrimeFaces 上に構築された Web サイトがあります。私の問題は、WebView のコンテンツと画像が Chrome よりも大きく表示されることです。WebView でのレンダリングを Chrome と同じにするにはどうすればよいですか?

Web サイトはレスポンシブ デザインであるため、スケーリングは役に立たないようです。私も試してみwrap_contentましたがfill_parent、成功しませんでした。

更新 1 : 以下は効果がありません。最小限に抑えるために、以下のコードからそれらを除外しました。

  • WebViewClient
  • ChromeViewClient
  • setLoadWithOverviewMode(true)
  • setUseWideViewPort(true)

更新 2 : setInitialScale()効果はありません。

MyActivity.java

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webView = (WebView) findViewById(R.id.web_engine);
    webView.setWebViewClient(new WebViewClient());
    webView.getSettings().setJavaScriptEnabled(true);
    if (savedInstanceState == null) {
        webView.loadUrl("http://www.primefaces.org/showcase/mobile/index.xhtml");
    }
}

main.xml

<RelativeLayout xmlns:a="http://schemas.android.com/apk/res/android"
            a:layout_width="fill_parent"
            a:layout_height="fill_parent"
            a:background="#ffffff"
            a:orientation="vertical" >

<WebView a:id="@+id/web_engine"
         a:layout_width="fill_parent"
         a:layout_height="fill_parent"
/>

WebView クロム

4

5 に答える 5

4

試す:

webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
webView.getSettings().setSupportZoom(true);

ここで言及: http://developer.android.com/guide/webapps/migrating.html

具体的には、http: //developer.android.com/reference/android/webkit/WebSettings.LayoutAlgorithm.html#TEXT_AUTOSIZINGを参照してください。

完全なコードはこちら:

mWebView = (WebView) mLayoutMain.findViewById(R.id.webview_main);
mWebView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
});
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
mWebView.getSettings().setSupportZoom(true);
mWebView.loadUrl("http://www.primefaces.org/showcase/mobile/index.xhtml");
于 2014-08-01T20:00:06.063 に答える
4

同様の問題がありました。問題は、システムのフォント サイズ ([設定] -> [表示] -> [フォント サイズ]) が WebView のフォント サイズに影響を与えましたが、ブラウザーには影響しませんでした。

私はコルドバを使用しているので、コルドバプラグインで問題を解決しました。この回答を参照してください

プラグイン コードを見ると、Android で次のようにしてフォント サイズをリセットします。

mWebView.getSettings().setTextZoom(100);

または(ICS以前):

mWebView.getSettings().setTextSize(WebSettings.TextSize.NORMAL);
于 2015-03-24T14:19:27.043 に答える
2

まず、別のモバイル ブラウザーでアプリをテストすることをお勧めします。同じ問題がある場合は、以下を参照してください。

ブラウザーとアプリの違いは、おそらく setUseWideViewPort WebSetting を true に設定しているときに間違いを犯しているためです。

以下のリンクを確認してください:

  1. Androidブラウザで表示したときよりもAndroid WebViewオブジェクトでフォントサイズが大きく見えるのはなぜですか?

  2. 異なる画面とOSバージョンのAndroid WebViewテキストズーム

  3. WebView のテキスト サイズ

于 2014-08-07T13:54:23.980 に答える
0

サイズを変更せずにフォントサイズをクロムまたはWebサイトに一致させるには、次のようにしますwebSettings.setMinimumFontSize(1);

よろしくラミン

于 2017-12-24T10:18:38.263 に答える