超便利!! OnGlobalLayout()


どうも〜見習いプログラマーのnaoponです!
7月にハマるものはジャズとブルーベリーです!

さてAndroidでレイアウトするも
たまにViewのサイズがほしい時があります。

でも、なぜかゼロ?!
…悲しいですね。 …切ないですね。

なんでだーと思いましたが、そりゃーまだレンダリングされていなくて、
Viewのサイズが確定していないからじゃないですか。。。

んじゃViewサイズ確定後に取れば良いじゃん!
ということで、おまじない。

Viewのサイズを取るだけなら他にもいくつか方法がありますが、
onGlobalLayout()を使えば個々のViewのレンダリング後のサイズを
手っ取り早く取得することが可能です。

でも実は用途によってはonGlobalLayout()が何度も呼ばれる時もあるから、
何回もよばれちゃって嫌だなーって人は、こんな感じでやれば良いかもね。

ようするに、扉は、開けたら閉めるぅ〜!的な。
登録したら解除してぇ〜〜!ってことですね。

いや〜僕は、ButtonとかLayoutに動的にDrawableを生成してあててたんですが、
これで解決しました。