たとえば、ウィジェットのサイズを相対寸法で指定するレイアウトがあります。
<LinearLayout ... layout_height="fill_parent">
<ImageView ... layout_height="wrap_content" />
<TextView ... layout_height="120dp" />
</LinearLayout>
直後にonCreate
、ImageView の高さがどのくらいか知りたいです。どうやってするか?
注:を呼び出すgetHeight()
とonCreate
、0 が返されます。
私も試してみimageView.postDelayed
ましたが、2.1 エミュレーターでは動作しますが、1.5 エミュレーターでは失敗します (私も 0 を取得しました)。
最後に、 を作成しようとしましたが、 10 ミリ秒の遅延でHandler
呼び出しました。handler.postDelayed
2.1 と 1.5 の両方のエミュレーターで動作しますが、Eclipse デバッガーでプログラムを起動すると失敗しました (したがって、遅延を使用しても、イメージビューがレイアウトされた後に高さが取得されるとは限りません)。