룬아님의 취중코딩

invalidate()와 requestLayout()의 차이 본문

개발/안드로이드 개발

invalidate()와 requestLayout()의 차이

룬아님 2019. 12. 20. 16:56

우선 View의 생명주기를 알아야 한다.

위의 그림에서 보이듯이 invalidate()는 draw를 다시하도록 요청하고

requestLayout()은 measure를 통한 사이즈 체크부터 다시한다.

 

단순한 변경 사항을 보여주기 위하여 다시 그리는 경우에는 invalidate()를 사용하고 사이즈가 바뀌어 뷰간의 경계에도 영향을 준다면 requestLayout()을 호출해야한다.

반응형
Comments