오늘도 더 나은 코드를 작성하였습니까?

Global Action 본문

Android Jetpack Architecture/Navigation

Global Action

hik14 2021. 11. 19. 13:53

global action을 사용하여 여러 destination에서 사용할 수 있는 공통 action을 만들 수 있습니다.

예를 들어 다양한 destination의 버튼이 동일한 기본 앱 화면으로 이동할 수 있습니다.

 

global action 생성하기

  1. Graph Editor에서 대상을 클릭하여 강조표시합니다.
  2. 대상을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 표시합니다.
  3. Add Action > Global을 선택합니다. 화살표()가 대상의 왼쪽에 나타납니다.
  4. 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)
}