web-dev-qa-db-fra.com

Android Kotlin .visibility

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?

9
StealthDroid

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
}
22
Natan

Utilisation View.VISIBLE. Il s'agit d'une constante définie dans la classe View.

fun hacerVisibleLaFoto(v: View) {
    imageView.visibility = View.VISIBLE;
}
7
Bob
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
2
Pinkesh Darji

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()
0
Andrew Steinmetz