安卓 Kotlin .visibility

13

我有这段代码,它应该使一张图片可见,但我不知道在Kotlin中应该如何编写它。

我正在尝试在Kotlin中使用.visibility,但我不知道要给它什么值。它基于setVisibility()

代码:

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

我将1放在值的位置上,因为需要一个整数值,并且那是我的占位值,直到我找到真正要放在那里的值。

在等号后面应该放什么才能使值可见?


这与Kotlin没有真正的关系。 - Tim
5个回答

35

Android为视图可见性提供了静态常量。如果要以编程方式更改可见性,应使用View.VISIBLEView.INVISIBLEView.GONE

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

在你的情况下:

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

8
使用 View.VISIBLE。这是在 View 类中定义的一个常量。
fun hacerVisibleLaFoto(v: View) {
    imageView.visibility = View.VISIBLE;
}

4
View.VISIBLE 

应该在等号后面放置以使值可见。 在View类中具有整数常量值。 您可以通过按ctrl +单击(Windows)或cmd +单击(Mac)来检查它。

所以应该像这样。

imageView.visibility = View.VISIBLE

2
利用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()

更简洁的解决方案:fun View.showOrGone(show: Boolean) { visibility = if(show) View.VISIBLE else View.GONE } - Azarnoy

2

非常简单易懂

要使一个视图可见:

ViewName.visibility = View.VISIBLE

例如: button.visibity = View.VISIBLE

要使视图不可见:

ViewName.visibility = View.INVISIBLE

例如: button.visibity = View.INVISIBLE

你可以使用像按钮、文本视图、图像视图等任何东西。

希望这个能够起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接