Fit image in webview

后端 未结 4 1769
生来不讨喜
生来不讨喜 2020-12-10 14:26

I am planning to display images from SD card in a webview in order to take advantage of he built in zoom capabilities of webview. However, I am facing an issue with displayi

相关标签:
4条回答
  • 2020-12-10 14:55

    That did the trick for me:

    webView.setInitialScale(30);
    WebSettings webSettings = webView.getSettings();
    webSettings.setUseWideViewPort(true);
    
    0 讨论(0)
  • 2020-12-10 15:01
    WebSettings settings = webView.getSettings();
    
    settings.setUseWideViewPort(true);
    
    settings.setLoadWithOverviewMode(true)
    
    0 讨论(0)
  • 2020-12-10 15:02

    If you write your HTML correctly, you don't have to do any "setLoadWithOverviewMode", "setUseWideViewPort" or "setInitialScale". And there is absolutely no reason to enable JavaScript.

    This one line worked for me:

    webView.loadDataWithBaseURL("file://" + directory, "<img src=\"" + name + "\" width=\"100%\"/>", "text/html", "utf-8", null);

    The underlining HTML code is:

    <img src=YourImage.png width="100%" />, by not setting a height, its aspect ratio will be kept.

    0 讨论(0)
  • 2020-12-10 15:18
     private WebView mWebView2;
        mWebView2 = (WebView)findViewById(R.id.webview);
        mWebView2.getSettings().setJavaScriptEnabled(true);
        mWebView2.getSettings().setLoadWithOverviewMode(true);
        mWebView2.getSettings().setUseWideViewPort(true);
        mWebView2.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        mWebView2.setScrollbarFadingEnabled(true);
        mWebView2.loadDataWithBaseURL("file:///android_asset/", "<img src=\"banner5.png\" height=\"98%\" width=\"100%\"/>", "text/html", "utf-8", null);
    

    Images are in the assets folder

    0 讨论(0)
提交回复
热议问题