글 작성 배경이 글을 적게 된 배경은 뭘까? 나는 시간이 어느 정도 지난 개인 프로젝트를 오랜만에 다시 만지고 있었다. 이 때, Material 라이브러리 버전과 targetSdk 버전을 동시에 올리면서BottomNavigationView 배경 색상이 내가 사용하지 않는 기본 색상으로 적용이 되었다. 샘플 앱을 대충 만들면 나오는 그 보라색 말이다. 나는 Material 라이브러리의 Color system을 사용하고 있었는데도 이런 현상이 발생했다. 문제 지점 찾기분명 라이브러리에서 BottomNavigationView의 background color를 정의하는 부분이 있을 것이라 생각했다. 그럼 라이브러리에서 어떤 color를 사용할까? 바로 Material 공식 사이트에서 확인할 수 있었다. 스크린샷..
이번에 소개할 내용은 프래그먼트들에게서 키보드(SoftInput 또는 keypad)를 내리는 방법이다. (누군가 더 좋은 방법을 소개시켜준다면 기꺼이 교체할 생각이 있다.) 시작해보자. 일단 이런 동작이 필요하게 된 배경은 이러하다. 흔히 사용하는 BottomNavigationView의 메뉴 아이템을 선택해 다른 프래그먼트를 보여줘야 할 때, 이전 프래그먼트에서 입력하던 사항이 있다면 키보드를 내리면서 프래그먼트가 전환되어야 한다. 안드로이드에 익숙한 개발자라면 키보드 내리는 동작은 익숙해져 있을 것이다. 나에게 문제는 이 동작을 어디서, 얼마나 실행하느냐가 문제였다. 그래서 프래그먼트가 교체되는 ItemSelectedListener에서 실행해주었다. 여기서 기존에 모든 프래그먼트를 hide시킨 뒤, w..
이번에는 BottomNavigationView의 모든 아이템이 선택되지 않은 상태로 만들어보려고 한다. 이 동작을 구현하게 된 배경은 BottomNavigationView와 FloatingActionButton을 같이 사용하기 위함이었다. FloatingActionButton(줄여서 FAB라 부르겠다)을 BottomAppBar 안에 cradle 모드로 anchor 시키며 사용하던 중, FAB를 눌렀을 때 다른 프래그먼트가 보여야하므로 이 때 BottomNavigationView(줄여서 BNV)의 다른 모든 아이템이 선택된 상태로 있으면 안됐다. BNV의 모든 아이템을 선택되지 않은 상태로 만들기 위해 여러 사이트를 돌아다니다 짧은 해결법을 찾았다. 일단 나는 코틀린을 사용하고 있어서 확장함수 형태로 구현..