48 lines
893 B
Kotlin
48 lines
893 B
Kotlin
@file:Suppress("NOTHING_TO_INLINE", "unused")
|
|
|
|
package dev.inmo.micro_utils.common
|
|
|
|
import android.view.View
|
|
|
|
inline val View.gone
|
|
get() = visibility == View.GONE
|
|
inline fun View.gone() {
|
|
visibility = View.GONE
|
|
}
|
|
|
|
inline val View.hidden
|
|
get() = visibility == View.INVISIBLE
|
|
inline fun View.hide() {
|
|
visibility = View.INVISIBLE
|
|
}
|
|
|
|
inline val View.shown
|
|
get() = visibility == View.VISIBLE
|
|
inline fun View.show() {
|
|
visibility = View.VISIBLE
|
|
}
|
|
|
|
fun View.toggleVisibility(goneOnHide: Boolean = true) {
|
|
if (isShown) {
|
|
if (goneOnHide) {
|
|
gone()
|
|
} else {
|
|
hide()
|
|
}
|
|
} else {
|
|
show()
|
|
}
|
|
}
|
|
|
|
fun View.changeVisibility(show: Boolean = !isShown, goneOnHide: Boolean = true) {
|
|
if (show) {
|
|
if (goneOnHide) {
|
|
gone()
|
|
} else {
|
|
hide()
|
|
}
|
|
} else {
|
|
show()
|
|
}
|
|
}
|