navigation 3

[Android] BottomNavigationView의 탭을 눌러도 선택되지 않는 문제

문제 개인 프로젝트로 개발 중인 앱에서 별다른 버그가 없는가 밥을 먹으며 이리저리 클릭하던 중 특정 상황에 하단 탭의 선택 효과가 동작하지 않는 문제를 발견하여 이를 해결하면서 공부한 내용을 정리했습니다. 문제의 화면과 프로젝트의 내비게이션 그래프의 구성은 아래와 같습니다. 화면 및 탭 구성 BottomNavigationView에는 홈, 즐겨찾기, 설정 총 3개의 탭이 존재 설정 화면의 버튼을 통해 다크 모드 설정 또는 테마 설정 화면으로 이동 가능 버그 내용 설정의 하위에 속하는 다크 모드 설정을 선택하여 화면을 띄운다. 설정 탭 이외의 다른 탭인 즐겨찾기 탭을 선택한다. 다시 설정 탭을 선택하면 화면은 이전에 띄워놓았던 다크 모드 설정 화면이지만 탭은 설정 탭이 아니라 즐겨찾기 탭이 선택되어 있다. ..

Android 2022.07.21

Android Navigation에서 chrome의 의미

요약 chorme은 사용자에게 화면의 콘텐츠(해당 콘텐츠의 일부가 아님)에 대한 정보 또는 작업 명령을 제공하는 시각적 디자인 요소입니다. 이 디자인 요소는 운영체제, 웹사이트, 애플리케이션과 같은 기본 시스템에서 제공되며 사용자 데이터를 둘러싸고 있습니다. 용어 이해하기 안드로이드의 Navigation 관련 문서들을 보다보면 chrome이라는 단어가 종종 등장합니다. NavigationUI Class which hooks up elements typically in the chrome of your application such as global navigation patterns like a navigation drawer or bottom nav bar with your NavController. ..

Android 2022.07.14

Android Navigation 관련 용어 정리

NavHost 호스트는 single context 또는 NavController를 통해 탐색하기 위한 컨테이너이다. NavHost를 위한 추가 API들을 제공하는 NavHostController를 인스턴스화하여 nav controller를 구성하는 것이 좋다. NavHostController는 NavHostController로 직접 노출되지 않고 외부에서 NavController로만 액세스할 수 있어야 한다. 내비게이션 호스트는 반드시 컨트롤러의 상태의 저장 및 복원을 처리해야 한다. 호스트의 루트 뷰에서 Navigation.setViewNavController를 호출해야 한다. NavController.popBackStack을 수동으로 호출하거나 NavController를 구성할 때 NavHostCon..

Android 2022.03.07