В Деятельности с большим количеством компонентов у меня есть RelativeLayout, который содержит WebView (он просто показывает TextView, размер которого я не знаю).
Это код xml:
<RelativeLayout android:id="@+id/descripcionRelative" android:layout_below="@+id/descripcion_bold" android:layout_width="match_parent" android:layout_height="125dip" android:background="@drawable/my_border">
<WebView android:id="@+id/webViewDescripcion" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</RelativeLayout>
Атрибут android: layout_height для RelativeLayout равен 125dip, потому что, если текст слишком большой, я хочу ограничить до 125dip.Если текст большой, я увижу текст с прокруткой.Отлично!
Но ... если текст короткий, я вижу много ненужного места.
Одним из решений является изменение android: layout_height RelativeLayout на wrap_content.Если текст короткий, у компонента будут точные пиксели, но если текст слишком большой, я не могу его разграничить.
БОЛЬШАЯ ПРОБЛЕМА заключается в том, что я не могу рассчитать высоту WebView.Если я это сделаю: descripcion_web.getHeight (), он вернет 0.
Если я вызову этот метод здесь, он не вернет правильное число:
descripcion_web.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView webView, String url) {
super.onPageFinished(webView, url);
RelativeLayout marco = (RelativeLayout)findViewById(R.id.descripcionRelative);
System.out.println("Height webView: "+webView.getHeight());
System.out.println("Height relative: "+marco.getHeight());
}
});
Я пытаюсь вызвать его вметод в onResume (), но он не работает.
Еще одна попытка решить проблему - установить для android: layout_height значение match_parent и использовать метод View setMaximumHeight (), но он не существует.Тем не менее, он существует setMinimumHeight () ...
Как я могу решить эту проблему?Большое спасибо!