결과물 :

device-2023-05-05-183734.mp4


색상 테마 적용하기

1. values/colors.xml 파일에 컬러 토큰들을 넣기

색상 예시 :

<resources>

    <color name="indigo_50">#e8eaf6</color>
    <color name="indigo_100">#c5cae9</color>
    <color name="indigo_200">#9fa8da</color>
    <color name="indigo_300">#7986cb</color>
    <color name="indigo_400">#5c6bc0</color>
    <color name="indigo_500">#3f51b5</color>
		...

</resources>

2. 테마에 색상 attribute로 적용

<style name="Theme.GOSOPTAndroid" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- Primary brand color. -->
    <item name="colorPrimary">@color/light_blue_800</item>
    <item name="colorPrimaryVariant">@color/light_blue_900</item>
    <item name="colorOnPrimary">@color/white</item>
    ...
    <!-- Customize your theme here. -->
    <item name="android:colorBackground">@color/white</item>
    <item name="colorOnBackground">@color/black</item>
    <item name="colorSurface">@color/light_blue_100</item>
    <item name="colorOnSurface">@color/light_blue_900</item>
</style>

3. 바텀 네비게이션뷰 색상 세부변경 위해 셀렉터 사용

<selector xmlns:android="<http://schemas.android.com/apk/res/android>">
    <item android:color="@color/light_blue_900" android:state_checked="true" />
    <item android:color="#7A7A7A" android:state_checked="false" />

</selector>
<com.google.android.material.bottomnavigation.BottomNavigationView
    ...
    android:background="?attr/colorSurface"
    app:itemIconTint="@drawable/bnv_selector_color"
    app:itemRippleColor="@color/light_blue_200"
    app:itemTextColor="@drawable/bnv_selector_color"
    ...
    app:menu="@menu/menu" />