3
在android中,我將本地圖像加載到webview中。在模擬器上,甚至在我測試的一款新的Android設備上,一切正常 - 沒有問題。不過,我有一個更老的設備(與Android 2.3.4)有問題。當我第一次加載html文件時,圖像顯示正常。當我點擊手機後退按鈕,然後回到頁面,圖像消失。我試圖弄清楚這是一個常見問題還是隻是一箇舊手機的問題。加載一次後Android webview圖像不顯示
下面是加載文件:
w = (WebView) findViewById(R.id.webview1);
w.getSettings().setJavaScriptEnabled(true);
w.getSettings().setBuiltInZoomControls(false);
w.getSettings().setDefaultTextEncodingName("utf-8");
InputStream is;
try {
is = getAssets().open("Learn/TrigGraphing.html");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
String str = new String(buffer);
w.loadDataWithBaseURL("file:///android_asset/Learn/Images/", str, "text/html", "utf-8", "file:///android_asset/Learn/TrigGraphing.html");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
下面是HTML:
<img id="img03" class="images" src="file:///android_asset/Learn/Images/UnitCircle10.png"/>
還有一個扭曲 - 我調整圖像,如果他們太大,不適合在屏幕上。這主要是針對平板電腦。在HTML身體的onload()函數,我執行下面的JavaScript:
function checkImgSize() {
if($(document).width() > $(window).width()) {
windowWidth = $(window).width();
var elements = document.getElementsByClassName("images");
for (var i=0; i<elements.length; i++) {
currentImgWidth = elements[i].width;
currentImgHeight = elements[i].height;
newImgWidth = Math.round(0.85*windowWidth);
newImgHeight = (newImgWidth/currentImgWidth)*currentImgHeight;
elements[i].style.width = newImgWidth;
elements[i].style.height = newImgHeight;
}
}
我看着這個調整大小功能,我不明白爲什麼它會使得圖像消失,如果他們加載第二次,但我不當然。任何人有任何建議?
使用HTML文件的小寫像名稱像abc.png – 2015-03-30 23:04:26
像重命名它,以便其文件:///android_asset/Learn/Images/unitcircle10.png?我知道你不能上傳帶有大寫字母的名字到drawables文件夾中,但是我之前在assets文件夾中沒有問題 – bluemoon12 2015-03-30 23:21:39