Closed cheewr85 closed 2 years ago
.apply
이슈는 kotlin의 버전상의 문제인 것 같음, 그것보다 근원적으로 JvmOverloads를 보면 결국 컴파일 시 파라미터 문제나 생성자 상황에서의 적용을 하기 위해서인데 사실 Custom View를 만든데 있어서 다른 방식으로도 접근이 가능하기 때문에 필수조건은 아님Custom View에서 직접 만드는 상황이 아니라면 알아가야 할 것은 일단 기존의 위젯에서부터 확장된 방식으로 커스텀 할 수 있는 목적을 주로 떠올려야함
그러면서 단순히 확장만 하는 것이 아니라 View를 랜더링하거나 그릴 때 일반적으로 위젯을 사용하게 된다면 해당 클래스를 쓰기 때문에 크게 랜더링과 그리는 부분을 고려할 것이 없었지만 이 부분은 이제 크기와 랜더링할 때의 조건등 모든 경우의 수를 고려해야함
그래서 onDraw
메소드를 통해서 커스텀해서 그릴 사항에 맞게 직접 그릴 상황을 고려해야하고 onMeasure
를 통해서 사이즈에 대한 모든 경우의 수를 따져봐야함
간단하게 메소드로 설명을 한다면 레이아웃을 그릴 때와 그리기전의 크기 요구사항 그리고 이벤트 처리 즉, 터치등 만졌을 때의 진짜 View 자체의 모든 것을 고려해야하는 것
그 외 세부적인 건 공식문서 참고하기
[질문]
Custom View에 대해서 CodeLab과 공식문서가 좀 상이하기 때문에 부족한 부분 더 채우기(JvmOverloads의 행방은?
.apply
가 안 먹히는 이유는?)