Material theme을 사용하면서 왜 Elevation 설정을 해제하려고 할까앱에서 원하는 색상을 적용하기 어렵다. Material theme만 적용하게 되면 상관이 없겠지만,iOS나 다른 플랫폼과 색상을 맞추기 위해서는 Material theme만을 사용할 수가 없다. 왜 하필 elevation이냐... 그건 바로 elevation을 통해 shadow를 적용했는데Material theme 설정 때문에 내가 지정한 View의 backgroundTint를 적용할 수 없었다. 예를 들면?MaterialCardView가 있다. Appcompat의 CardView를 상속받아 만들어졌는데cardElevation을 0 초과로 설정하는 순간 내 기본 테마 색상에서더 진한 채도를 가진 색상으로 background..
글 작성 배경이 글을 적게 된 배경은 뭘까? 나는 시간이 어느 정도 지난 개인 프로젝트를 오랜만에 다시 만지고 있었다. 이 때, Material 라이브러리 버전과 targetSdk 버전을 동시에 올리면서BottomNavigationView 배경 색상이 내가 사용하지 않는 기본 색상으로 적용이 되었다. 샘플 앱을 대충 만들면 나오는 그 보라색 말이다. 나는 Material 라이브러리의 Color system을 사용하고 있었는데도 이런 현상이 발생했다. 문제 지점 찾기분명 라이브러리에서 BottomNavigationView의 background color를 정의하는 부분이 있을 것이라 생각했다. 그럼 라이브러리에서 어떤 color를 사용할까? 바로 Material 공식 사이트에서 확인할 수 있었다. 스크린샷..
저번 글에서는 BottomSheet의 높이를 조절했다. 이번에는 BottomSheet Scrim 영역(외부 영역)을 터치 시 BottomSheet가 내려가지 않도록 해보겠다. 코드를 설명하기 앞서 이런 동작을 유도한 이유가 있는데 BottomSheet에는 2가지 종류가 있다. Standard bottom sheet, Modal bottom sheet이다. https://m3.material.io/components/bottom-sheets/guidelines (Material design 공식 사이트 설명이다) 공식 사이트를 보면 Modal 방식의 바텀 시트는 Standard 방식과 달리 다이얼로그처럼 앱 컨텐츠 영역 앞에 보이게 되고 다른 앱 기능을 일시적으로 제한한다. 그래서 Scrim 영역(외부 영..