WebView.getContentHeight()始终返回0

时间:2013-01-17 00:21:28

标签: java android

我正在尝试在名为webDescription的WebView中显示HTML字符串。由于此HTML有时可能很长,因此我希望将WebView的高度限制为最大尺寸,并允许内容在视图中滚动。

我使用以下代码等待页面完成加载,检查内容高度并将封闭(父)TableRow的高度设置为最大值150。

    webDescription.setWebViewClient(new WebViewClient() {

        public void onPageFinished(WebView view, String url) {
            // do your stuff here
            Log.i("EVENTDETAIL", "Web view has finished loading");
            Log.i("EVENTDETAIL", "Description content height: " + view.getContentHeight());
            if ( view.getContentHeight() > 150 ) {
                LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 150);
                view.setLayoutParams(params);
            }
        }

    });

但是,view.getContentHeight()始终返回0;因此,父TableRow的LayoutParams永远不会改变。

任何人都可以提供任何有关此问题的见解以及如何解决我的问题吗?非常感谢你的考虑。

2 个答案:

答案 0 :(得分:0)

使用此代码:

 if(view.getHeight()>150) 
 {
      LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, 150);
      view.setLayoutParams(params);
 }

我的意思是使用getHeight()代替getContentHeight()

答案 1 :(得分:0)

我将WebView设置为match_parent并在TableRow上设置maxHeight。