AndroidのViewの表示状態(Visibility)は「VISIBLE, INVISIBLE, GONE」の三種類ある。
VISIBLEはわかりやすいが、INVISIBLE, GONEは共に非表示を意味し、その違いがわかりにくいのでまとめておく。
VISIBLEはわかりやすいが、INVISIBLE, GONEは共に非表示を意味し、その違いがわかりにくいのでまとめておく。
仕様からの確認
Viewクラスに定数が定義されているので仕様を見ると
つまり、INVISIBLE、GONEの違いは、レイアウトに空間を取るかどうかということ。
具体的に動作を確認していく。
実動作からの確認
TextViewを3つ横並びに関連させて配置して、ボタンで真ん中のTextViewのVisibilityを変化させるプログラムを組んで確認。
Viewの位置確認を明確にするため、開発者向けオプションで「レイアウトの境界を表示」をONにしておく。
VISIBLE | INVISIBLE | GONE |
---|---|---|
通常に表示 デフォルトはコレ |
存在はするが見えない状態 画面全体のレイアウト位置計算で、存在するとして計算されている。 |
存在しないから見えない状態 画面全体のレイアウト位置計算で、存在しないとして計算されている。 |
GONEは関連してるTextView達の位置がちょっと変わっていることがわかる。
GONEのViewがいないモノとして計算されていることがわかる。
一応、このプログラムのコードを載せて終わりとする。
0 件のコメント:
コメントを投稿