Android Jetpack Architecture/Navigation
Global Action
hik14
2021. 11. 19. 13:53
global action을 사용하여 여러 destination에서 사용할 수 있는 공통 action을 만들 수 있습니다.
예를 들어 다양한 destination의 버튼이 동일한 기본 앱 화면으로 이동할 수 있습니다.
global action 생성하기
- Graph Editor에서 대상을 클릭하여 강조표시합니다.
- 대상을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 표시합니다.
- Add Action > Global을 선택합니다. 화살표()가 대상의 왼쪽에 나타납니다.
- Text 탭을 클릭하여 XML 텍스트 뷰로 이동하여 확인
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_nav"
app:startDestination="@id/mainFragment">
...
<action android:id="@+id/action_global_mainFragment"
app:destination="@id/mainFragment"/>
</navigation>
viewTransactionButton.setOnClickListener { view ->
view.findNavController().navigate(R.id.action_global_mainFragment)
}