Android Material Library Update Story(feat. BottomNavigationView)

2024. 7. 14. 23:00·Dev experience/Android
728x90
반응형

글 작성 배경

이 글을 적게 된 배경은 뭘까?

 

나는 시간이 어느 정도 지난 개인 프로젝트를 오랜만에 다시 만지고 있었다.

 

이 때, Material 라이브러리 버전과 targetSdk 버전을 동시에 올리면서

BottomNavigationView 배경 색상이 내가 사용하지 않는 기본 색상으로 적용이 되었다.

 

샘플 앱을 대충 만들면 나오는 그 보라색 말이다.

 

나는 Material 라이브러리의 Color system을 사용하고 있었는데도 이런 현상이 발생했다.

 

문제 지점 찾기

분명 라이브러리에서 BottomNavigationView의 background color를 정의하는 부분이 있을 것이라 생각했다.

 

그럼 라이브러리에서 어떤 color를 사용할까?

 

바로 Material 공식 사이트에서 확인할 수 있었다.

 

Material BottomNavigationView Specs

스크린샷에서는 약간 잘려있지만 확인해보면 surfaceContainer로 선언된 색상을 사용한다.

 

이전에는 다른 색상을 사용했는데 해당 surfaceContainer는 최근에 추가된 color scheme이다.

 

해당 color를 themes.xml에서 찾지 못해 기본 색상으로 보였던 것이다.

BottomNavigationView with Default Background Color

그럼 이제 어떻게 해야할까?

 

간편하게 해결하기

먼저 Material theme builder를 사용한다.

 

새로운 color system이 적용된 color 및 themes 파일을 생성해 교체한다.

 

colors.xml 과 themes.xml 모두 교체해주어야 한다.

 

결과 확인하기

나의 경우엔 colors.xml가 두 배 이상 늘었고, themes.xml이 10개 가량 추가되었다.

 

그렇게 업데이트한 Material 버전과 color system을 맞춘 결과는 아래처럼 보인다.

BottomNavigationView with Custom Color

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Dev experience > Android' 카테고리의 다른 글

Android Fold Device 대응하기  (6) 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
'Dev experience/Android' 카테고리의 다른 글
  • Android Fold Device 대응하기
  • Android Material Theme Elevation 해제하기
  • Android Library Manifest Attributes Replace
  • Android Talkback Ordinal Number(ScreenReader 서수 읽기)
BonusTrack02.dev
BonusTrack02.dev
공부, 일상
  • BonusTrack02.dev
    BonusTrack02.dev
    BonusTrack02.dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (241)
      • Dev experience (88)
        • Android (87)
        • Kotlin (1)
      • Study (64)
        • Kotlin (28)
        • Swift (17)
        • Java (19)
      • 프로그래머스 (68)
      • 주저리주저리 (21)
        • 카페 (5)
        • 음식점 (4)
        • 컨퍼런스 (1)
        • 팝업스토어 (4)
        • 전시회 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코틀린
    Observer
    MVVM
    viewModelScope
    PCCE
    CodeLab
    Kotlin
    배열
    LiveData
    Java
    aac
    스위프트
    room
    ViewModel
    코루틴
    티스토리챌린지
    coroutines
    daterangepicker
    오블완
    android
    SWIFT
    Material
    programmers
    getNumericValue
    안드로이드
    jetpack
    프로그래머스
    databinding
    ios
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BonusTrack02.dev
Android Material Library Update Story(feat. BottomNavigationView)
상단으로

티스토리툴바