2013-07-10 209 views
0

我在WebView中加載a .jpg。我的問題是,我發現這個:Android WebView, Scaling Image to fit the screenAndroid中的Webview圖像適合屏幕

它不適合我。

這裏是我的代碼:

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

    Toast.makeText(getApplicationContext(), ""+width, Toast.LENGTH_LONG).show(); 


    String html = "<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>"; 
    html+= "<body><img width=\""+width+"\"<img src=\""+"image.jpg"+"\" /></body></html>"; 

aboutText.loadDataWithBaseURL("file:///android_res/drawable/", html, "text/html","UTF-8" , null); 
+0

你試過我的回答嗎? –

+0

這是正確的解決方案:http://stackoverflow.com/a/23656581/550393 – 2cupsOfTech

回答

1

你是下面的代碼的HTML圖像標籤錯誤檢查:

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

Toast.makeText(getApplicationContext(), ""+width, Toast.LENGTH_LONG).show(); 


String html = "<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>"; 
    html+= "<body><img width=\""+width+"\" src=\""+"image.jpg"+"\" /></body></html>"; 

aboutText.loadDataWithBaseURL("file:///android_res/drawable/", html, "text/html","UTF-8" , null); 

你的HTML字符串錯誤格式的圖像標籤像下面的代碼:

String html = "<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>"; 
html+= "<body><img width=\""+width+"\"<img src=\""+"image.jpg"+"\" /></body></html>"; 

格式化我的代碼:

String html = "<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>"; 
html+= "<body><img width=\""+width+"\" src=\""+"image.jpg"+"\" /></body></html>"; 
5

這不適合我,因爲我有高分辨率手機。

試試這個,它的工作對我來說, webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

+0

它適用於我的情況,thx。 – derjohng

+0

嗡嗡聲,它適用於我的GenyMotion模擬器,但不適用於我的Xperia Z ... – Cocorico

4

您可以風格img標籤加載HTML網頁到視圖之前。請參閱下面的代碼

WebView content = (WebView) findViewById(R.id.webView1); 
String head = "<head> <style>img{display: inline;height: auto;max-width: 100%;}</style> <style>body {font-family: 'Roboto'; }</style></head>"; 

content.loadDataWithBaseURL(null, head + post.getContent(), "text/html", "UTF-8", null); 
+0

這似乎工作得很好! – amp