結構有名どこ。
違う要因で 0 になった。
画像一枚のレイアウト。
最初は非表示で、なにか処理が始まると同時に表示して、終わったらまた非表示に。
ローディング中のイメージ。
だいぶ簡素化してみた。
Activity はこんな感じ。
onCreate() の中で getWidth() 、 getHeight() が取れないのは想定の範囲内。
でも、 onWindowFocusChanged() の中ででも取れない。
これは View の visibility が原因。
こう変える
Constant | Value | Description |
---|---|---|
visible | 0 | Visible on screen; the default value. |
invisible | 1 | Not displayed, but taken into account during layout (space is left for it). |
gone | 2 | Completely hidden, as if the view had not been added. |
invisible の場合は見えないけど"そこにはいる"から取得できる。
gone の場合には"いない"ので、View のプロパティ取得までにはタイムラグがあるようだ。
あまり深く考えたくないので invisible でいくことにする。