Android Kotlin Navgation paths

6154 단어 AndroidStudioKotlin

내비게이션이란?


ユーザーがアプリ内のさまざまなコンテンツ間を移動する操作を指します。(공식 인용: htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / 구이데 / 나 ぃ가 치온 )

전제로서, 이하의 내용은 실시하고 있다고 한다.


  • Fragment 만들기

  • 종속성 선언



    build.gradle
    dependencies {
      def nav_version = "2.3.2"
    
      // Kotlin
      implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
      implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
    
      // Feature module Support
      implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
    
      // Testing Navigation
      androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
    
      // Jetpack Compose Integration
      implementation "androidx.navigation:navigation-compose:1.0.0-alpha03"
    }
    

    리소스 파일에 내비게이션 추가



    Android Resource File을 선택하고 Resource type을 nagation를 선택합니다.


    navigation.xml
    <?xml version="1.0" encoding="utf-8"?>
    <navigation xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/nagation">
    
    </navigation>
    

    네비게이션 그래프에 조각 추가



    이번에는 Navigation Editor를 사용하여 추가합니다.



    설명은 공식 참조:
    htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m/구이데/나ゔ이치온/나ゔぃ가치온-게짱g-srrd? hl = 그럼
  • [New Destination]을 누르고, 작성하고 있던 Fragmento 선택

  • 아래와 같은 코드를 할 수 있다

    navigation.xml
    <fragment
       android:id="@+id/testFragment"
       android:name="com.example.android.navigation.TestFragment"
       android:label="TestFragment"
       tools:layout="@layout/fragment_test" />
    
    
  • destination 연결

  • navigation.xml
    <fragment
            android:id="@+id/testFragment"
       android:name="com.example.android.navigation.TestFragment"
            android:label="fragment_test"
            tools:layout="@layout/fragment_test" >
            <action
                android:id="@+id/action_testFragment_to_testTwoFragment"
                app:destination="@id/testTwoFragment" />
        </fragment>
        <fragment
            android:id="@+id/testTwoFragment"
       android:name="com.example.android.navigation.TestTwoFragment"
            android:label="fragment_test_two"
            tools:layout="@layout/fragment_test_two" />
    
    

    버튼으로 사용자를 다른 화면으로 이동



    Sample.kt
    binding.nextButton.setOnClickListener{ view: View ->
      view.findNavController().navigate(R.id.testTwoFragment)
    }
    

    특정 단편에서 다음 단편으로 이동하는 경우 if/else에서 조건을 정의하는 방법도 있습니다.

    참고 사이트:
    htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m/구이데/나ゔ가치온? hl = 그럼
    htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m/구이데/나ゔ이치온/나ゔぃ가치온-게짱g-srrd? hl = 그럼
    htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m/구이데/나ゔ가치온/나ゔ가치온-콘치오나l? hl = 그럼

    좋은 웹페이지 즐겨찾기