글 작성 배경
이 글을 적게 된 배경은 뭘까?
나는 시간이 어느 정도 지난 개인 프로젝트를 오랜만에 다시 만지고 있었다.
이 때, Material 라이브러리 버전과 targetSdk 버전을 동시에 올리면서
BottomNavigationView 배경 색상이 내가 사용하지 않는 기본 색상으로 적용이 되었다.
샘플 앱을 대충 만들면 나오는 그 보라색 말이다.
나는 Material 라이브러리의 Color system을 사용하고 있었는데도 이런 현상이 발생했다.
문제 지점 찾기
분명 라이브러리에서 BottomNavigationView의 background color를 정의하는 부분이 있을 것이라 생각했다.
그럼 라이브러리에서 어떤 color를 사용할까?
바로 Material 공식 사이트에서 확인할 수 있었다.
스크린샷에서는 약간 잘려있지만 확인해보면 surfaceContainer로 선언된 색상을 사용한다.
이전에는 다른 색상을 사용했는데 해당 surfaceContainer는 최근에 추가된 color scheme이다.
해당 color를 themes.xml에서 찾지 못해 기본 색상으로 보였던 것이다.
그럼 이제 어떻게 해야할까?
간편하게 해결하기
먼저 Material theme builder를 사용한다.
새로운 color system이 적용된 color 및 themes 파일을 생성해 교체한다.
colors.xml 과 themes.xml 모두 교체해주어야 한다.
결과 확인하기
나의 경우엔 colors.xml가 두 배 이상 늘었고, themes.xml이 10개 가량 추가되었다.
그렇게 업데이트한 Material 버전과 color system을 맞춘 결과는 아래처럼 보인다.
'Android' 카테고리의 다른 글
Android Fold Device 대응하기 (3) | 2024.11.08 |
---|---|
Android Material Theme Elevation 해제하기 (4) | 2024.09.26 |
Android Library Manifest Attributes Replace (0) | 2024.07.04 |
Android Talkback Ordinal Number(ScreenReader 서수 읽기) (1) | 2024.07.03 |
Android Room 오적용기(misapplied) (0) | 2024.07.02 |