在一个有很多组件的Activity中,我有一个有WebView的RelativeLayout(它显示一个简单的文本,我不知道他的大小)。在Android中调整布局的动态大小
这是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>
属性安卓的RelativeLayout的layout_height是125dip,因为如果文本太大,我想对圈定125dip。如果文字很大,我会用滚动看到文字。大!
但是......如果文字很短,我会看到很多必要的空间。
解决方法之一是将RelativeLayout的android:layout_height更改为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()...
我该如何解决这个问题?非常感谢你!