이번 포스팅에서는 ConstraintLayout
을 root
로 가지고 있는 View
에 대해서 Custom 하는 과정에 대해 살펴보고자 한다. 필자가 이번에 Custom View 를 만들게 된 이유는 ConstraintLayout
안에 무수히 많은 View
들이 존재하지만 View
사이의 규칙이 있을 때 해당 View
들을 하나의 View
로 묶어서 UI 구성을 하면 관리의 편의성을 높일 수 있다는 장점이 있다. (물론 Custom View 가 필요한 목적은 무수히 많을 것이다.)
우선 Custom 하고자 하는 layout
xml file 을 생성하고 규칙이 있는 View
들을 배치해야 한다. 단순히 layout
file 만 만들면 바로 사용 가능할 것이라고 예상을 했지만, View
를 xml 파일에 생성하는 과정에는 메모리 객체화가 일어나기 때문에 Custom 하고자 했던 layout
에 대응하는 class
를 따로 생성해야 한다. 이번 포스팅은 ConstraintLayout
을 root
로 가지는 Custom View 를 만들 것이기 때문에 ConstraintLayout
을 상속하는 class
가 필요하다. 상속한 class
에 생성자를 만들어주고 각 생성자가 호출될 때 실행할 init
함수를 만들어 이전에 만들었던 layout
file 을 inflate
해주는 코드를 작성해주면 다른 layout
file 에서도 해당 Custom View 를 호출해 사용할 수 있게 된다.
이번 포스팅에서는 정말 짧게 Custom View 을 만드는 방법에 알아보았지만, 돌이켜보니 이제껏 했던 과정들이 단순히 View
를 묶는 과정...? 으로 보여진다. (하지만, View
를 묶는 과정 또한 Custom 하는 과정이니 Custom View 라고 할 수 있다고 본다.)
아마 다음 포스팅에서 만든 Custom View 를 활용하는 방법에 대해 다루게 될 것이라고 예상되어 진다.
오늘은 ConstraintLayout
을 상속하는 Custom View 를 만드는 과정에 대해 알게 되었으니 오늘도 필자는 성장했다.