위젯의 커스터마이징은 세 단계로 나눌 수 있다.
1. attrs.xml 파일 생성
새로운 위젯을 생성하고 사용할 때 위젯 이름뿐만 아니라 속성의 이름과 입력되는 값의 타입을 정의하고 사용할 수 있도록 한다.
<declare-styleable name="CustomWidget">
<attr name="새로운 속성" format="string"/>
</declare-styleable>
레이아웃 파일에는 태그 속성의 prefix가 android가 아닌 custom을 사용해서 attrs.xml에 정의된 새로운 속성값을 사용할 수 있습니다.
<CustomWidget
android:id="@+id/buttom"
custom:새로운 속성="값"
android:text="새로 만든 위젯"/>
2. 커스텀 위젯 클래스 생성
커스터마이징을 하기 위한 위젯클래스를 상속받아 클래스를 생성하고 위에서 새롭게 정의한 속성을 처리하는 코드를 작성한다.
class CustomWidget: TextView {
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
}
}
3. 레이아웃에 태그 적용
생성된 커스텀 클래스를 레이아웃 파일에 태그로 적용한다. 커스텀 위젯은 컨스트레인트 레이아웃처럼 위젯 클래스의 패키지 경로명도 함께 입력해서 사용한다
<패키지명.CustomWidget
android:id="@+id/buttom"
custom:새로운 속성="값"
android:text="새로 만든 위젯"/>
'Android' 카테고리의 다른 글
[안드로이드] 코틀린 FragmentPagerAdapter 필수 메서드 (0) | 2021.12.01 |
---|---|
[안드로이드] 코틀린 뷰(View) 용어 정리 (0) | 2021.12.01 |
[안드로이드] 코틀린 View 그림그리기 - onDraw (0) | 2021.11.30 |
[안드로이드] 코틀린 프래그먼트 생명 주기 (0) | 2021.11.29 |
[안드로이드] 코틀린 프레그먼트 연습 FragmentTest - ViewBinding (0) | 2021.11.29 |