Я хочу создать WebView для отображения изображения.
Но при втором / третьем запуске приложения 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>