代码之家  ›  专栏  ›  技术社区  ›  Илья Жиленков

android中是否有标记可见性变量的注释?(例如,将.VISIBLE视为变量的值)

  •  0
  • Илья Жиленков  · 技术社区  · 2 年前

    View.VISIBLE 和类似的静态可见性变量的数据类型为 int ,我需要禁止将此变量的值设为“0”、“1”等。此变量应仅 视图.VISIBLE 以及类似的值。例如:

        data class State(
            @SomeAnnotation val buttonVisibility: Int  
        )
    
        val state = State(0) // Compilation error
        val state = State(View.GONE) // Okay
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   Kiryl Tkach    2 年前

    知道android.view.view.Visibility用@hide标记,并且不能在代码中使用,可能唯一的解决方案是创建自定义枚举

    enum class Visibility(val value: Int) {
        VISIBLE(View.VISIBLE), 
        INVISIBLE(View.INVISIBLE), 
        GONE(View.GONE)
    }
    

    并在State类中使用

    data class State(val buttonVisibility: Visibility)