viewTreeObserver
root_view.viewTreeObserver.addOnGlobalLayoutListener ( object: ViewTreeObserver.OnGlobalLayoutListener{
override fun onGlobalLayout() {
//뷰 측정 등을 구현
//사용 후 해제
root_view.viewTreeObserver.removeOnGlobalLayoutListener(this)
}
})
최상단 뷰가 화면에 그려진 후에 호출되는 관찰자
xml 레이아웃에 가장 바깥쪽 요소에 관찰자를 지정해야 함
예전에는 다른 뷰의 크기를 측정 후 특정 뷰의 크기를 지정하기 위해서 뷰를 커스텀하거나 딜레이를 주는 형태로 구현하였으나
해당 관찰자를 통해 뷰가 반영된 시점을 정확히 파악하여 크기를 측정할 수 있음
*뷰가 그려지기 전에 크기를 측정하면 높이과 넓이가 모두 0으로 나옴
반응형
'메모 log (간단메모) > mobile' 카테고리의 다른 글
아이폰 Identifier UUID 간단 확인방법 (feat. Mac) (0) | 2023.03.10 |
---|---|
MacBook, AndroidStudio Error (0) | 2021.02.08 |
resource 색상 가져오기 (0) | 2020.04.21 |
'Event 등록' ACC (0) | 2020.03.18 |
'stetcho' 디버깅 (0) | 2020.03.01 |