Androidでvisibility
を次のように非表示に設定します。
myImageView.setVisibility(View.INVISIBLE);
そして、それを表示するには:
myImageView.setVisibility(View.VISIBLE);
myImageView
が表示されているかどうかはわかりませんが、次のように確認できます。
if (myImageView IS VISIBLE) {
Do something
} else {
Do something else
}
どうやってやるの?括弧内に何を書く必要がありますか?
View.getVisibility()は可視性を取得しますが、単純なtrue/falseではありません。ビューの可視性は、次の3つのいずれかに設定できます。
View.VISIBLEビューが表示されます。
View.INVISIBLEビューは表示されませんが、通常使用する間隔は引き続き使用されます。その「見えない」
View.GONEビューはなくなりました。表示できず、「スポット」を占有しません。
あなたの質問に答えるために、あなたは探しています:
if (myImageView.getVisibility() == View.VISIBLE) {
// Its visible
} else {
// Either gone or invisible
}
または、単に使用することができます
View.isShown()
画像がレイアウトの一部である場合、「View.VISIBLE」である可能性がありますが、それは可視画面の範囲内にあることを意味しません。それがあなたが求めているものである場合;これは動作します:
Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (imageView.getLocalVisibleRect(scrollBounds)) {
// imageView is within the visible window
} else {
// imageView is not within the visible window
}
対応するメソッド getVisibility() を使用します。 「get」および「set」が前に付いたメソッド名は、プロパティを表すためのJavaの規則です。一部の言語には、プロパティの実際の言語構造がありますが、Javaはそれらの1つではありません。したがって、「setX」というラベルの付いたものが表示された場合、値を伝える対応する「getX」があることを99%確信できます。