0

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 は決して変更されません。

誰でもこれについて洞察を提供できますか?また、問題を解決するにはどうすればよいですか? ご検討いただきありがとうございます。

4

2 に答える 2

0

このコードを使用してください:

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

getHeight()代わりに使用することを意味しましたgetContentHeight()

于 2013-01-17T00:27:19.550 に答える
0

WebView を match_parent に設定し、TableRow に maxHeight を設定します。

于 2013-01-17T00:41:20.710 に答える