2011-12-21 29 views
0

画像を表示するWebViewを作成したいとします。WebViewを使用して画像を表示する方法

しかし、アプリケーションの2/3の開始時には、実際のデバイスではWebViewは空です。

私が//wv.getSettings().setJavaScriptEnabled(true);をコメントアウトすると、すべてが良好で、.httpのときに私はonload="resize(this);"を削除していますが、アプリも毎回画像で開始しています。

これを修正する方法。 JavaScriptの使用方法は空ではありませんWebView

おそらく最初の初期化後にキャッシュを保存する必要がありますか?

public class TestwebViewimageActivity extends Activity { 
private WebView wv; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    wv = (WebView) findViewById(R.id.webview); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.setWebViewClient(new HelloWebViewClient()); 
    wv.setBackgroundColor(0x00000000); 
    wv.getSettings().setBuiltInZoomControls(false); 
    wv.setVerticalScrollBarEnabled(false); 
    wv.setHorizontalScrollBarEnabled(false); 
    wv.loadUrl("file:///android_asset/4.html"); 
} 

private class HelloWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
} 
} 

フルウィンドウでの私の.htmlマストショー画像:

<html><head> 
</head> 
<body> 
<img src="myimage.png" onload="resize(this);" /> 
<script type="text/javascript"> 
function resize(image) { 
    image.style['height'] = document.body.clientHeight + 'px'; 
    image.style['width'] = document.body.clientWidth + 'px'; 

    image.style['margin'] = 0; 
    document.body.style['margin'] = 0; 
} 
</script> 
</body> 
</html> 

答えて

0

私はあなたがあなたのイメージのサイズを変更するためにはJavaScriptよりもCSSを使用したほうが良いだろう考えて助けることはできません。

私は偉大なbackground-size:contain;を使って例を作りました。 div内に収まるようにバックグラウンドを自動的に調整するプロパティがあるので、JavaScriptでこれを達成しようとしていたと思います。

http://jsfiddle.net/4DNsL/

0
mWebView = (WebView) findViewById(R.id.webview); 
mWebView.getSettings().setJavaScriptEnabled(true); 
String summary = "<html><body><div style=\"background:red; \"</div> 
<img src=\"res/drawable/banner300.jpg\"/></body></html>"; 
mWebView.loadData(summary, "text/html", "utf-8"); 
0

なぜあなたは手動で画像のサイズを変更しようとしていますか?画像の幅を設定し、それに応じてウェブビューに高さを調整させるだけです。それは私のために完璧に動作します。

関連する問題