【问题标题】:Android Kotlin .visibilityAndroid Kotlin .visibility
【发布时间】:2018-01-15 03:06:00
【问题描述】:

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

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

代码:

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

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

= 符号后面应该加上什么来使值可见?

【问题讨论】:

  • 这和 kotlin 没有关系

标签: android imageview kotlin kotlin-android-extensions


【解决方案1】:

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

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

在你的情况下:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      View.VISIBLE 
      

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

      所以应该是这样的。

      imageView.visibility = View.VISIBLE
      

      【讨论】:

        【解决方案4】:

        利用 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 }
        【解决方案5】:

        非常简单

        可见视图:

        ViewName.visibility = View.VISIBLE
        

        例如-button.visibity = View.VISIBLE

        使视图不可见:

        ViewName.visibility = View.INVISIBLE
        

        例如-button.visibity = View.INVISIBLE

        您可以使用的任何东西,例如按钮、文本视图、图像视图等

        希望这会奏效。

        【讨论】:

          猜你喜欢
          • 2014-05-15
          • 2013-03-05
          • 2014-05-13
          • 2014-05-10
          • 2021-12-12
          • 2017-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多