Android Kotlin扩展函数
考虑到这一点:Android Kotlin扩展函数,android,kotlin,extension-function,Android,Kotlin,Extension Function,考虑到这一点: MyView.setVisibility(View.VISIBLE) 可以简化为: inline fun View.setVisible() = apply { visibility = View.VISIBLE } MyView.setVisible() 或者,如果您愿意: inline infix fun View.vis(vis: Int) = apply { visibility = vis } MyView vis View.VISIBLE 是否有任何方法可以通
MyView.setVisibility(View.VISIBLE)
可以简化为:
inline fun View.setVisible() = apply { visibility = View.VISIBLE }
MyView.setVisible()
或者,如果您愿意:
inline infix fun View.vis(vis: Int) = apply { visibility = vis }
MyView vis View.VISIBLE
是否有任何方法可以通过这样做来实现相同的目标:
MyView.VISIBLE
“getter”修改状态似乎有点奇怪,但您可以使用:
您还可以让它返回新的可见性值或返回自身,以便您可以潜在地链接调用
val View.VISIBLE: Int
get() {
visibility = View.VISIBLE
return visibility
}
或
是的,您可以使用getter编写如下属性:
val View.visible: View
get() = apply { visibility = View.VISIBLE }
使用时:
myView.visible
但是,请记住,通常不鼓励在getter中使用具有副作用的属性(另请参见:),并且这种行为对于属性来说相当混乱。是的,你说得对,这很奇怪。这不是一个真实的场景,只是乱搞而已。谢谢
val View.visible: View
get() = apply { visibility = View.VISIBLE }
myView.visible