onMeasure() 가 호출되는 때, 호출되는 순간, 불려지는 순간
onMeasure()는 언제 호출되는가?
onMeasure() 가 호출되는 순간
- 윈도우가 laid out 되는 처음순간
- layout 이 변경될 때마다
구글 그룹에서 android framwork team 의 engineer 가 한 답변 내용이다.
onMeasure() is not related to the Activity life cycle.
It is called whenever the layout changes (requestLayout() called)
or the first time a window is laid out.
onMeasure() 에서 view 의 크기를 결정한다고 보면 될 듯 하다. 이것이 필요한 이유는 density-independent pixel units (dp), wrap_content, or fill_parent, 같은 relative value 가 사용되기 때문인 듯 하다.[ref. 1]
layout 이 바뀔 때 마다, 그 layout 에 맞는 height, width 를 결정하고, 그 height, width 를 가지고 onLayout() 의 parameter 로 현재 view 가 처리되는 범위를 넘겨준다.
See Also
에 있는 소스코드에서 onMeasure() 부분을 보면, 이해하기 좀 더 쉬울 듯 하다.
댓글 없음:
댓글 쓰기