2월, 2017의 게시물 표시

[Android] View 생성시 주요 Method 호출 순서

Test는 Button Class를 extends 한 CustomButton 으로 진행.

1. Constructor()

------ View 기본 설정 ------
2. onFinishInflate()
3. setLayoutParams()
4. requestLayout()
5. invalidate()

------ Window에 Attach ------
6. onAttachedToWindow()
7. invalidate()
8. onWindowVisibilityChanged(int visibility)
   : attach 된 Window의 Visibility 변경
9. onVisibilityChanged()  [1번째 호출]
   : View의 Visibility 변경
10. refreshDrawableState()
11. onCreateDrawableState()
12. dispatchVisibilityChanged()
13. onVisibilityChanged() [2번째 호출]
14. invalidate()
15. dispatchVisibilityChanged()
16. onVisibilityChanged() [3번째 호출]
17. invalidate()
18. scrollTo() [1번째 호출]
19. onMeasure()
20. dispatchApplyWindowInsets()
21. onApplyWindowInsets()
22. fitSystemWindows()
23. dispatchApplyWindowInsets()
24. onApplyWindowInsets()
25. fitSystemWindows()
27. scrollTo() [2번째 호출]
28. onMeasure()
29. getSuggestedMinimumHeight()
30. scrollTo() [3번째 호출]
31. onMeasure()
32. layout()
33. onSizeChanged()
 : H : 192, T : 76 (이 시점부터 getHeight()와 getTop()으로 값을 …