반응형
fun fnToggle() {
// myView 라는 View가 있는 경우
val v = findViewById<View>(R.id.myView)
// view가 지금 화면에 보이는 경우
if (v.isVisible()) {
// view를 화면에서 숨김
v.visibility = View.INVISIBLE
v.height = 0
// view가 지금 화면에 보이지 않는 경우
} else {
// view를 화면에 보여줌
v.visibility = View.VISIBLE
v.height = 60
}
// visibiile에 따라 화면이 크기가 조정되어야 하는 경우
runOnUiThread{
val vg = findViewById<ViewGroup>(R.id.myGroup)
vg.invalidate()
vg.requestLayout()
}
}
kotlin에서는 view가 보이는지 여부는 isVisible() 메서드를 사용하고, 감추려면 visibility를 View.INVISIBLE로 하고 보이려면 View.VISIBLE로 적용해 주면 됩니다.
만약에 해당 view를 숨기거나 보일 때 화면의 전반적인 크기가 조정되어야 한다고 가정하고, view를 감싸고 있는 변경 대상인 Layout 등의 ViewGroup이 myGroup이라면, 해당 view크기를 조정한 후에 ViewGroup을 별도의 스레드에서 invalidate / requestLayout 해주면 됩니다.
반응형
'개발 창고 > Android' 카테고리의 다른 글
[Kotlin] "Vibrator" 사용하는 방법 (0) | 2023.07.19 |
---|---|
[Kotlin] 네이버 맵 api에서 지도 이동하는 방법 (0) | 2023.07.19 |
mac android 폰 미러링 - scrcpy (0) | 2023.04.13 |
[Android] 다국어 설정 (0) | 2023.04.08 |
[Kotlin] drawable resource 불러오기 (0) | 2023.02.21 |