Je règle visibility
sur invisible comme ceci sur Android:
myImageView.setVisibility(View.INVISIBLE);
Et puis pour le rendre visible:
myImageView.setVisibility(View.VISIBLE);
Maintenant, je ne sais pas si myImageView
est visible ou non, comment puis-je le vérifier comme ceci:
if (myImageView IS VISIBLE) {
Do something
} else {
Do something else
}
Comment puis je faire ça? Qu'est-ce que je dois écrire entre parenthèses?
Bien que View.getVisibility () obtienne la visibilité, ce n'est pas un simple vrai/faux. Une visibilité peut avoir sa visibilité définie sur l'une des trois choses suivantes.
View.VISIBLE La vue est visible.
View.INVISIBLE La vue est invisible, mais tout espacement qu’elle prendrait normalement sera toujours utilisé. Son "invisible"
View.GONE La vue a disparu, vous ne pouvez pas la voir et elle ne prend pas la "place".
Donc, pour répondre à votre question, vous recherchez:
if (myImageView.getVisibility() == View.VISIBLE) {
// Its visible
} else {
// Either gone or invisible
}
Ou vous pouvez simplement utiliser
View.isShown()
Si l'image fait partie de la mise en page, il peut s'agir de "View.VISIBLE" mais cela ne signifie pas qu'elle se trouve dans les limites de l'écran visible. Si c'est ce que vous recherchez, cela fonctionnera:
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
}
Vous utiliseriez la méthode correspondante getVisibility () . Les noms de méthodes précédés de 'get' et 'set' sont la convention de Java pour la représentation des propriétés. Certains langages ont des constructions de langage pour les propriétés mais Java n'en fait pas partie. Ainsi, lorsque vous voyez quelque chose appelé "setX", vous pouvez être sûr à 99% qu'il existe un "getX" correspondant qui vous indiquera la valeur.