2

の高さを取得したいと思いlinearlayoutます。この回答で詳細を見つけました

View.getWidth()/View.getHeight()ビューが測定されるまで、意味のある答えは得られません。

ビューが測定されたことをどのように確認できますか? そのためのイベントはありますか?

更新:

私にとっての解決策は、オーバーライドされた onWindowFocusChanged() でレイアウトの高さを取得することです

4

1 に答える 1

1

現在、ビューのサイズが変更されたことを明確に通知するイベントは発生しません。あなたが指摘したスレッドで示唆されているように、ビューにフォーカスがあるときを確認し、フォーカスがあると幅/高さが0より大きいと想定できます。

別の方法:サブクラスでオーバーライドして、ゼロ以外の値が入ったときに何かを行うために使用できるonSizeChangedメソッドがあります。明らかに、必ず super.onSizeChanged(...) を呼び出してください。

于 2010-11-01T18:44:38.163 に答える