728x90
Material Chip 본문에 적혀있는 설명은 이러하다
칩을 통해 사용자는 정보를 입력하고, 선택하고, 콘텐츠를 필터링하거나, 작업을 트리거할 수 있습니다.
Chip 중 Filter Chip을 Custom 할 것이다.
Chip의 배경색, 글자 색, 체크 색깔을 Custom 할 것이다. 결과물은 이러하다.
배경색부터 지정해보자. res/color/chip_bg_state_list.xml
state_checked가 true인 아이템 color를 선택되었을 때 바뀌었으면 하는 색깔을 지정해주고,
다른 아이템은 선택되지 않았을때의 색깔을 지정해준다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/secondaryColor" android:state_checked="true" />
<item android:color="@color/primaryLightColor" />
</selector>
글자 색을 지정해준다. res/color/chip_text_state_list
설명은 배경색과 같다.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:color="@color/white" />
<item android:state_checked="false"
android:color="@color/black" />
</selector>
android Drawable에 Vector Asset을 추가하여 check 아이콘을 추가해주고,
Chip의 Checked Icon을 지정해준다.
아이콘 추가하는 방법
이제 Chip의 스타일을 지정한다. res/vaules/styles.xml
Material의 Filter 스타일을 Parent로 갖는 CustomChipStyle을 지정한다.
<style name="CustomChipChoice" parent="@style/Widget.MaterialComponents.Chip.Filter">
// Chip의 BackgroundColor
<item name="chipBackgroundColor">@color/chip_bg_state_list</item>
// Chip의 textColor
<item name="android:textColor">@color/chip_text_state_list</item>
// Chip이 Check 되었을때의 icon
<item name="checkedIcon">@drawable/ic_baseline_check_24</item>
</style>
마지막으로, 사용하고 싶은 layout xml파일에 Chip을 추가해주고,
style을 우리가 만든 CustomChipChoice로 지정해주면 끝!
<com.google.android.material.chip.Chip
style="@style/CustomChipChoice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="텍스트"/>
'개인공부 > android' 카테고리의 다른 글
[Kotlin] Coroutines (코루틴) (0) | 2022.02.01 |
---|---|
Android Icon drawable 추가하기 (Vector Asset) (0) | 2022.01.27 |
[Kotlin] Custom Bottom Sheet + ListView (0) | 2022.01.27 |
[Android] TextView를 Spinner처럼 보이게 하는 방법 (0) | 2022.01.27 |
UI 상태 저장 (0) | 2021.12.27 |