본문 바로가기

NavController

(4)
NavIndicator와 NavigationUp 현재 Drawer를 사용해서 메뉴를 선택하는 구조를 사용하고 있다. 그리고 Drawer와 ActionBar는 Activity에 속해 있으며, 이 부분을 제외한 부분을 Fragment가 사용한다. 우선 Navigation Component에서 NavigationView 동작을 사용할 수 있도록 연결시키자. // navController와 drawer를 연결하여 동작하도록 이어준다. NavigationUI.setupActionbarWithNavController(this, navController, drawer); navController와 Drawer를 연결시키는 코드를 적용하고 실행해보면 navController.navigateTo()의 메소드를 실행함과 동시에 ActionBar의 Icon이 자동으로 변..
FloatingActionButton Anchor to Appbar FAB 버튼을 Appbar에 부착하기 CollapsingToolbarLayout은 Toolbar를 확장된 영역으로 보여주고 스크롤 시 축소시켜 기존의 Toolbar기능을 보여주는 레이아웃이다. 이때 Floating Action Button을 Toolbar에 부착하면 Toolbar의 크기가 줄어들 때 FAB가 사라지도록 할 수 있다. 두 화면에서 다른 방식으로 FAB를 사용하기 현재 2개의 다른 Fragment를 가지고 있다. TaskListFragment와 AddEditTaskFragment이다. TaskListFragment는 RecyclerView를 갖고 있으며 아래로 길게 스크롤하며 사용될 가능성이 높다. 그러므로 스크롤 시에 FAB이 Toolbar에 숨겨지는 Anchor 모드보다는 보편적으로 사용..
Navigation Component 사용하기 Navigation Component를 사용해서 화면 전환하는 것을 알아보자. Navigation Component에 대해서 간단히 정리해보면 nav_graph.xml에 Navigation에 사용될 화면들을 정의해두고 Java에서 이것을 사용해서 화면전환을 하는 구조이다. 크게 Navigation을 실행하는 NavController가 있고, 화면이 전환되는 영역인 NavHostFragment가 있다. 화면 단위는 Destination이라는 용어로 부르고 Fragment를 사용해서 구성된다. 1. Destination 추가하기 오늘은 task_list에서 addEditTaskFragment로 화면전환을 할 것이다. 두 목적지 사이에 화살표는 Action이라고 불린다. 한 화면에서 다른 화면으로 이동할 수 ..
Fragment에 리스트 출력하기 Part.1 요구사항 다시 짚어보기 이번에 구현하려고 하는 기능은 Fragment에 RecyclerView를 사용해서 데이터를 리스트 형태로 출력하는 것이다. 이때 메뉴 선택에 따라 리스트에 담길 데이터의 내용이 달라질 수 있다. Fragment + RecyclerView라는 구성의 XML 뷰라는 동일한 틀을 가지고 여러 개의 스크린을 보여줄 수 있어야 한다. 현재 1 Activity - Mutiple Fragments 구성을 사용하고 Navigation을 위해 Navigation Component를 사용해보려고 한다. 데이터의 종류는 Activity에 속해있는 Navigation Drawer의 메뉴 선택에 따라 결정된다. 즉 Drawer의 메뉴를 선택 시에 다른 내용의 리스트를 출력하는 것이 목표이다. 접근법 #1..