Вопрос по android – Android WebView, масштабирование изображения по размеру экрана

40

What I have: Я загружаю изображение с URL. Я просто делаю(WebView).loadUrl(imageurl, extraheaders)

What I get: Изображение не отображается на всю ширину WebView, вокруг него пустое пространство (например, если вы откроете небольшое изображение в браузере на рабочем столе)

What i tried: Установка LayoutAlgorithm для SINGLE_COLUMN. Работает отлично, но масштабирование не работает. (У меня это включено вWebView.getSettings() Не знаю почему. настройкаsetUseWideViewPort(true); загрузить изображение без пробелов, но оно будет полностью увеличено.

Error: User Rate Limit Exceeded Sarim Sidd

Ваш Ответ

9   ответов
35

 WebView data = (WebView) getViewById(R.id.webview1);
 data.getSettings().setLoadWithOverviewMode(true);
 data.getSettings().setUseWideViewPort(true);
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededwillError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
81

img

<style>img{display: inline; height: auto; max-width: 100%;}</style>

WebView content = (WebView) findViewById(R.id.webView1);
content.loadDataWithBaseURL(null, "<style>img{display: inline;height: auto;max-width: 100%;}</style>" + post.getContent(), "text/html", "UTF-8", null);

text/htmlpost.getContent()

text/htmlstyle

Error: User Rate Limit ExceedediframeError: User Rate Limit ExceededvideoError: User Rate Limit Exceeded<style>img, iframe, video{display: inline; height: auto; max-width: 100%;}</style>Error: User Rate Limit Exceededjsfiddle.net/ssrq2d6t/17
Error: User Rate Limit Exceededpost.getContent()Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

      WebView web;

      web = (WebView) findViewById(R.id.webkit);
      web.setWebViewClient(new Callback());
      web.getSettings().setJavaScriptEnabled(true);
      web.getSettings().setLoadWithOverviewMode(true);
      web.getSettings().setUseWideViewPort(true);
      web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
      web.setScrollbarFadingEnabled(false);
Error: User Rate Limit Exceeded artouiros
5

Error: User Rate Limit Exceeded

width="100%"

Error: User Rate Limit Exceeded

public void setWebViewWithImageFit(String content){

        // content is the content of the HTML or XML.
        String stringToAdd = "width=\"100%\" ";

        // Create a StringBuilder to insert string in the middle of content.
        StringBuilder sb = new StringBuilder(content);

        int i = 0;
        int cont = 0;

        // Check for the "src" substring, if it exists, take the index where 
        // it appears and insert the stringToAdd there, then increment a counter
        // because the string gets altered and you should sum the length of the inserted substring
        while(i != -1){
            i = content.indexOf("src", i + 1);
            if(i != -1) sb.insert(i + (cont * stringToAdd.length()), stringToAdd );
            ++cont;
        }

        // Set the webView with the StringBuilder: sb.toString()
        WebView detailWebView = (WebView) findViewById(R.id.web_view);
        detailWebView.loadDataWithBaseURL(null, sb.toString(), "text/html", "utf-8", null);
}

Error: User Rate Limit Exceeded

3

web = (WebView) findViewById(R.id.at_image_web);
web.getSettings().setBuiltInZoomControls(true);
web.getSettings().setUseWideViewPort(true);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setLoadWithOverviewMode(true);
web.loadUrl(linkImage);
5

String html = "<html><body><img src=\"" + URL + "\" width=\"100%\" height=\"100%\"\"/></body></html>";
mWebView.loadData(html, "text/html", null);

Error: User Rate Limit Exceeded
1

webView = (WebView) findViewById(R.id.webView); WebSettings webSettings = webView.getSettings(); webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

0

String strData = "<head>" + "<style>" + ".smal-video-pnl,.smal-video-thumb,.detail-hldr{margin-left: 0px;margin-right:0px;}" + "</style>" +
            "</head>" + mListItem.get(position).getTitbits();
holder.webViewStatus.loadDataWithBaseURL(null, strData, "text/html", "UTF-8", null);
Error: User Rate Limit Exceeded
43

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();

String data = "<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>";
data = data + "<body><center><img width=\""+width+"\" src=\""+url+"\" /></center></body></html>";
webView.loadData(data, "text/html", null);

WebView content = (WebView) findViewById(R.id.webView1);
content.loadDataWithBaseURL(null, "<style>img{display: inline;height: auto;max-width: 100%;}</style>" + post.getContent(), "text/html", "UTF-8", null);
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded artouiros

Похожие вопросы