Android Kotlin .visibility

问题描述 投票:5回答:4

我有这个代码可以使图像可见,但我不知道它应该如何为Kotlin编写。

我正试图在Kotlin中使用.visibility,我不知道该给它一个值。它基于setVisibility()

码:

fun hacerVisibleLaFoto(v: View) {
    imageView.visibility = 1;
}

我把1放在价值点,因为那里需要一个整数值,这是我的占位符值,直到找到真正存在的东西。

=标志后应该怎样去使价值可见?

android imageview kotlin kotlin-android-extensions
4个回答
21
投票

Android有view visibilities的静态常量。为了以编程方式更改可见性,您应该使用View.VISIBLEView.INVISIBLEView.GONE

在Kotlin中使用myView.visibility = myVisibility设置可见性与在Java中使用myView.setVisibility(myVisibility)设置可见性相同。

在你的情况下:

fun hacerVisibleLaFoto(v: View) {
    imageView.visibility = View.VISIBLE
}

6
投票

使用View.VISIBLE。这是View类中定义的常量。

fun hacerVisibleLaFoto(v: View) {
    imageView.visibility = View.VISIBLE;
}

2
投票
View.VISIBLE 

应该在=符号之后使值可见。它在View类中具有整数常量值。您可以按ctrl +单击(Windows)或cmd +单击(Mac)进行检查。

所以它应该是这样的。

imageView.visibility = View.VISIBLE

0
投票

利用Kotlin的一些语言特性,我在View上使用这两种扩展方法,为了方便起见,用布尔值切换可见性。

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

基本用法:

imageView.showOrGone(true) //will make it visible
imageView.showOrGone(false) //will make it gone

虽然如果你正在寻找一个小的语法Kotlin糖来使你的View可见,你可以写一个像这样的扩展函数,使其可见。

fun View.visible() {
    visibility = View.Visible
}

基本用法:

imageView.visible()
© www.soinside.com 2019 - 2024. All rights reserved.