大きな画像のサイズを画面サイズに制限するために、WebView の onLayout をオーバーライドしようとしています。オーバーライドされた WebView で、次のことを試しました。
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
Log.d("WEBVIEW-WIDTH",""+getWidth());
post(new Runnable() {
@Override
public void run() {
loadUrl("javascript:var imgs = document.getElementsByTagName('img');"+
"for (var i=0; i<imgs.length; i++) {imgs[i].style.maxwidth='"+getWidth()+"'};");
}
});
}
回転すると、新しい幅が記録されますが、画像の幅は制限されません。