J'ai ce code qui est censé rendre une image visible, mais je ne sais pas exactement comment il est censé être écrit pour Kotlin.
J'essaie d'utiliser .visibility
Dans Kotlin, et je ne sais pas quoi lui donner pour une valeur. Il est basé sur setVisibility()
.
Code:
fun hacerVisibleLaFoto(v: View) {
imageView.visibility = 1;
}
J'ai mis 1
À la place de la valeur car une valeur entière y est requise, et c'est ma valeur d'espace réservé jusqu'à ce que je trouve ce qui s'y passe vraiment.
Que faut-il faire après le signe =
Pour rendre la valeur visible?
Android a des constantes statiques pour voir les visibilités . Afin de modifier la visibilité par programme, vous devez utiliser View.VISIBLE
, View.INVISIBLE
Ou View.GONE
.
La définition de la visibilité à l'aide de myView.visibility = myVisibility
Dans Kotlin revient à la définir à l'aide de myView.setVisibility(myVisibility)
en Java.
Dans ton cas:
fun hacerVisibleLaFoto(v: View) {
imageView.visibility = View.VISIBLE
}
Utilisation View.VISIBLE
. Il s'agit d'une constante définie dans la classe View
.
fun hacerVisibleLaFoto(v: View) {
imageView.visibility = View.VISIBLE;
}
View.VISIBLE
Devrait aller après le signe = pour rendre la valeur visible. Il a une valeur constante entière dans la classe View. Vous pouvez le vérifier en appuyant sur ctrl + clic (Windows) ou cmd + clic (Mac).
Il devrait donc en être ainsi.
imageView.visibility = View.VISIBLE
Profitant de certaines fonctionnalités du langage de Kotlin, j'utilise ces deux méthodes d'extension sur View
qui basculent la visibilité avec un booléen pour plus de commodité.
fun View.showOrGone(show: Boolean) {
visibility = if(show) {
View.VISIBLE
} else {
View.GONE
}
}
fun View.showOrInvisible(show: Boolean) {
visibility = if(show) {
View.VISIBLE
} else {
View.INVISIBLE
}
}
Utilisation de base:
imageView.showOrGone(true) //will make it visible
imageView.showOrGone(false) //will make it gone
Bien que si vous cherchez juste un peu de sucre Kotlin syntaxique pour rendre votre View
visible, vous pouvez simplement écrire une fonction d'extension comme ça pour la rendre visible.
fun View.visible() {
visibility = View.Visible
}
Utilisation de base:
imageView.visible()