-1

次のレイアウトを定義しています。

<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」です)。

4

1 に答える 1

4

RelativeLayout のサイズを取得するにはどうすればよいですか

コードはおそらく問題ありませんが、タイミングが間違っています。onCreate()ウィジェットがまだ画面に配置されていないため、おそらく でそのコードを実行していますが、これは時期尚早です。

公式の答えは、 および を使用して、独自のレイアウト ルールを拡張(またはRelativeLayoutおそらくViewGroup) および実装することです。measure()layout()

于 2010-09-18T14:53:20.573 に答える