ํ
์คํธ๋ทฐ์ textColor
๋ฅผ ํ์ฑํ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฐ๊ฟ์ค์ผํ๋๋ฐ, ๊ทธ๋ฅ selector๋ก ๋ง๋ค์ด์ ํ๋ ์๋์ ๊ฐ์ ์์ํ์ง ๋ชปํ ์์์ผ๋ก ๋์๋ค.
์ฒ์์๋ ํ ๋ง๊ฐ ๋ฌธ์ ์ธ๊ฐ ์ถ์ด theme.xmlํ์ผ์ ์กฐ์ํด๋ดค๋๋ฐ ์ด๊ฒ ๋ฌธ์ ๊ฐ ์๋์๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ์ด ๋๋ฌด ๊ฐ๋จํ๋๋ฐ, color ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด ๊ฑฐ๊ธฐ์ selector๋ฅผ ์์น์ํค๋ ๊ฒ์ด๋ค.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:color="@color/White_01"/>
<item android:state_activated="false" android:color="@color/Gray_03"/>
</selector>
์ฝ๋๋ ๊ฑด๋๋ฆด๊ฒ ์๊ณ /res๋ฐ์ color
๋ผ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด ์ฃผ๋ฉด ์ด /color
์๋์ ์์นํ๋ ๋ฆฌ์์คํ์ผ์ Color Resource File
๋ก ์ธ์ํ๋ค.
color์์ฑ์ด ์๋๋ผ drawable์์ฑ์ ์ฌ์ฉํ๋ฉด ์์์ผ๋ก ์ธ์ํ์ง ๋ชปํด color ๋๋ ํ ๋ฆฌ๋ก ์ฎ๊ฒจ๋ ์ค๋ฅ๊ฐ ๊ณ์ ๋จ์์๊ฒ ๋๋ ์ฃผ์ํด์ผํ๋ค.
/color
์ ์๋ ์์์ ๋ณด์ /values/colors.xml
์ ๋๊ฐ์ด @color/์์
์ผ๋ก ์ ๊ทผ ํ ์ ์๋ค. ์ฆ /color
๋ฐ์ ํ์ผ์ด๋ฆ์ด ๋ฆฌ์์ค ID๋ก ์ฌ์ฉ๋๋ค.
android:textColor="@color/selector_signup_text_color"
์ฌ๊ธฐ์ ์์ฑ์ ๋ง์น๊ธฐ์๋ ๋ด์ฉ์ด ๋ถ์คํ๊ธฐ ๋๋ฌธ์ selector์ state ์์ฑ์ ์ดํด๋ณด์.
selector์ state list
๋ชจ๋ ์ํ๊ฐ์ boolean์ผ๋ก true/false๋ก ๊ตฌ๋ณํ๋ค.
android:state_pressed
๊ฐ์ฒด๊ฐ ๋๋ ธ์ ๋ true
์ด๋ฉฐ ๋ฒํผ์ด ๋๋ฆฌ์ง ์์ ์ํ์์๋ false
๋ค.
android:state_focused
๊ฐ์ฒด์ ํฌ์ปค์ค๊ฐ ์์ ๋(์: ํธ๋๋ณผ ๋๋ Dํจ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒํผ์ด ๊ฐ์กฐํ์๋ ๊ฒฝ์ฐ) true
์ด๋ฉฐ ํฌ์ปค์ค๊ฐ ์๋ ์ํ์์ ์ด ํญ๋ชฉ์ด ์ฌ์ฉ๋๋ฉด false
๋ค. ํฌ์ปค์ค๋ ์๊ฐ๋ณด๋ค ๋ณผ ์ผ์ด ์ ์ผ๋ฏ๋ก ์ ์ฌ์ฉ๋์ง ์๋๋ค.
android:state_selected
๊ฐ์ฒด๊ฐ ์ ํ๋์์ ๋ true
์ด๋ฉฐ ๊ฐ์ฒด๊ฐ ์ ํ๋์ง ์์์ ๋ false
๋ค.
android:state_checkable
๊ฐ์ฒด๊ฐ ์ ํ ๊ฐ๋ฅํ ๋ true
์ด๋ฉฐ ๊ฐ์ฒด๊ฐ ์ ํ ๊ฐ๋ฅํ์ง ์์ ๋ false
๋ค. ๊ฐ์ฒด๊ฐ ์ ํ ๊ฐ๋ฅํ ์์ ฏ๊ณผ ์ ํ ๊ฐ๋ฅํ์ง ์์ ์์ ฏ ๊ฐ์ ์ ํ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค.
android:state_checked
๊ฐ์ฒด๊ฐ ์ ํ๋์์ ๋ true
์ด๋ฉฐ ๊ฐ์ฒด๊ฐ ์ ํ๋์ง ์์์ ๋false
๋ค. ์ฒดํฌ๋ฐ์ค๋ฅผ ๊ตฌํํ ๋ ์ ์ฉํ๋ค.
android:state_enabled
๊ฐ์ฒด๊ฐ ์ฌ์ฉ ์ค์ ๋์์ ๋(ํฐ์น/ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์์ ํ ์ ์์) true
์ด๋ฉฐ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ ์ค์ง๋์์ ๋ false
๋ค.
android:state_activated
๊ฐ์ฒด๊ฐ ์๊ตฌ ์ ํ์ผ๋ก ํ์ฑํ๋ ๋(์: ์๊ตฌ ํ์ ๋ทฐ์์ ์ด์ ์ ์ ํํ ๋ชฉ๋ก ํญ๋ชฉ์ '๊ฐ์กฐํ์'ํ๊ธฐ ์ํด) ์ด ํญ๋ชฉ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ true
์ด๊ณ , ๊ฐ์ฒด๊ฐ ํ์ฑํ๋์ง ์์์ ๋ ์ฌ์ฉํด์ผ ํ๋ฉด false
๋ค.
API ์์ค 11๋ถํฐ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
android:state_window_focused
์ ํ๋ฆฌ์ผ์ด์
์ฐฝ์ ํฌ์ปค์ค๊ฐ ์์ ๋(์ ํ๋ฆฌ์ผ์ด์
์ด ํฌ๊ทธ๋ผ์ด๋์ ์์) true
์ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์
์ฐฝ์ ํฌ์ปค์ค๊ฐ ์์ ๋(์: ์๋ฆผ ์ฐฝ์ด ํ๋ค์ด๋๊ฑฐ๋ ๋ํ์์๊ฐ ํ์๋จ) false
๋ค.
๋ด๊ฐ ์ฌ์ฉํ ๊ฒ์ activated์ธ๋ฐ, ์๊ตฌ ํ์(persistent selection) ์ด๋ผ๋ ๊ฒ ๋ญ๊ฐ ์ถ์ด ์ข ์ฐพ์๋ณด๋, ํ์ฌ ํ๋ฉด์์ ์ผํ์ฑ์ผ๋ก ์ฌ๋ผ์ง์ง ์๋ ์ํ์ธ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
์ฐธ์กฐ:
https://developer.android.com/guide/topics/resources/color-list-resource?hl=ko
๋์์ด ๋๋ค๋ฉด ๋๊ธ์ด๋ ๊ณต๊ฐ ๋ฒํผ ํ ๋ฒ์ฉ ๋๋ฅด๊ณ ๊ฐ์ฃผ์ธ์! ๋ก๊ทธ์ธ ์ํด๋ ๋ฉ๋๋ค ^_^
'Android ๐ฅ๏ธ > ์ฝ์งโ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉํฐ๋ชจ๋ ๋์ ๊ธฐ(2) - Hilt (0) | 2023.12.15 |
---|---|
๋ฉํฐ๋ชจ๋ ๋์ ๊ธฐ(1) (0) | 2023.12.15 |
Compose๋ก Long Press ๊ตฌํํ๊ธฐ - detectTapGestures (0) | 2023.11.27 |
java.lang.NoSuchMethodError: 'kotlin.sequences.Sequence com.google.devtools.ksp.processing.Resolver.getPackagesWithAnnotation(java.lang.String)' (0) | 2023.11.20 |
Compose์์ BottomSheetLayout ์ธ ๋ Drag ๋ฌด์ํ๊ธฐ (0) | 2023.11.06 |