在Android中获取布局的大小

时间:2010-09-18 13:36:29

标签: android android-layout relativelayout

我定义了以下布局:

<LinearLayout>
  <TextView />
  <RelativeLayout>
     <TextView>
     <Button>
     <Button>
  </RelativeLayout>
<LinearLayout>

现在我想得到RelativeLayout的高度(我想以编程方式指定其子节点的高度):

View rel = findViewById(R.id.RelativeLayout01);
int width = rel.getWidth();
int height = rel.getHeight();

size returned is 0。我如何获得RelativeLayout的大小(它主要是上面的伪代码,但两个布局在xml中的高度/宽度都是“fill_parent”)

1 个答案:

答案 0 :(得分:4)

  

如何获得RelativeLayout的大小

您的代码可能没问题,但时机错误。您可能正在onCreate()中执行该代码,这太早了,因为小部件尚未布置在屏幕上。

官方答复是让您使用RelativeLayoutViewGroup扩展measure()(或许,layout())和implement your own layout rules