Android WebView fit content to screen

This worked for me:

webview.Settings.LoadWithOverviewMode = true;
webview.Settings.UseWideViewPort = true;

I think I have found my own solution, I put here for someone who need it in future. I just create one method to change head of html :

public static String changedHeaderHtml(String htmlText) {

        String head = "<head><meta name=\"viewport\" content=\"width=device-width, user-scalable=yes\" /></head>";

        String closedTag = "</body></html>";
        String changeFontHtml = head + htmlText + closedTag;
        return changeFontHtml;
    }

And I'm using it inside webview as follow :

public static void displayHtmlText(String htmlContent, String message,
        WebView webView,
        RelativeLayout videoLayout, LinearLayout standardLayout, LinearLayout webviewLayout){

    WebSettings settings = webView.getSettings();
    settings.setMinimumFontSize(18);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);
    settings.setBuiltInZoomControls(true);
    settings.setDisplayZoomControls(false);

    webView.setWebChromeClient(new WebChromeClient());
    String changeFontHtml = Util.changedHeaderHtml(htmlContent);
    webView.loadDataWithBaseURL(null, changeFontHtml,
            "text/html", "UTF-8", null);

    webviewLayout.setVisibility(View.VISIBLE);
    standardLayout.setVisibility(View.GONE);
    videoLayout.setVisibility(View.GONE);
}

So my content in webview now is fit to device and can show nicely.


I have create my own method with set background color and font color also.

 WebSettings settings = desc.getSettings();
            settings.setMinimumFontSize(50);
            desc.getSettings().setJavaScriptEnabled(true);
            settings.setLoadWithOverviewMode(true);
            settings.setUseWideViewPort(true);
            settings.setBuiltInZoomControls(true);
            settings.setDisplayZoomControls(false);

            desc.setWebChromeClient(new WebChromeClient());
            String changeFontHtml = changedHeaderHtml(description);
            desc.setBackgroundColor(context.getResources().getColor(R.color.all_app_bg_color));
            desc.loadDataWithBaseURL(null, changeFontHtml,"text/html", "UTF-8", null);
            desc.setWebViewClient(new WebViewClient() {
                public void onPageFinished(WebView view, String url) {
                    view.loadUrl("javascript:document.body.style.setProperty(\"color\", \"white\");"
                    );
                }
            });


    public static String changedHeaderHtml(String htmlText) {

            String head = "<head><meta name=\"viewport\" content=\"width=device-width, user-scalable=yes\" /></head>";

            String closedTag = "</body></html>";
            String changeFontHtml = head + htmlText + closedTag;
            return changeFontHtml;
        }