代码之家  ›  专栏  ›  技术社区  ›  NoBugs

为什么我不能在Android WebView onLayout中设置最大宽度?

  •  0
  • NoBugs  · 技术社区  · 13 年前

    我试图覆盖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()+"'};");
                }
            });
    
        }
    

    旋转时,它会记录新的宽度,但不会限制图像的宽度。

    1 回复  |  直到 13 年前
        1
  •  0
  •   NoBugs    13 年前

    它不起作用,因为我使用的是maxwidth,而不是maxwidth。

    幸运的是,看起来有一种更好的显示方式,可以在缩放和旋转时更新图像大小:

     img { max-width: 100%; }
    

    从…起 http://davidwalsh.name/image-max-width