본문 바로가기

코딩/안드로이드

androidx view.doOnLayout

androidx의 view.doOnLayout에 대해 짧게 글을 써본다





공식 문서에는 이렇게 되어있다


레이아웃이 놓여졌을 때 주어진 액션을 수행.



뷰의 포지션을 구하고 싶을 때



(Kotlin)

my_image_view.run{
doOnLayout {
getLocationOnScreen(startPos)
Logger.d("start dot rect : ${startPos[1]}")
}
}

와 같이 하면 된다



onWindowFocusChanged() 를 사용하면 안드로이드 멀티뷰를 쓸 때 좀 이상해진다. 호출이 약간 늦거나 이르거나..


저걸 쓰면 잘됨