작업 진행 중 View를 다시 구성하거나 그릴 때 invalidate()와 requestLayout()을 사용하는데 이 둘의 차이점이 궁금해서 찾아보았다.
View의 생명주기를 알아야 하는데 invalidate()는 draw를 다시 하도록 요청하고 requestLayout()은 measure를 통한 사이즈 체크부터 다시 시작한다.
단순한 변경 사항을 보여주기 위하여 다시 그리는 경우에는 invalidate()를 사용하고 사이즈가 바뀌어 뷰간의 경계에도 영향을 준다면 requestLayout()을 호출해야 한다.
'Android > Reference' 카테고리의 다른 글
string.xml 에 %d, %s 사용 / Databinding 에 StringFormat 적용 (0) | 2022.01.20 |
---|---|
WorkManager / 워크매니저 (0) | 2022.01.04 |
Scroll 상, 하단바 숨기기 (CoordinatorLayout) (0) | 2021.12.16 |
ClickCountListener (특정횟수 클릭 리스너) (0) | 2021.12.10 |
화면켜짐/제어 (WakeLock, WindowFlag) (0) | 2021.11.24 |