2020-07-19-Android-NavigationComponent-NavDrawer

build.gradle (Project level)

dependencies {
    ...
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0"
    ...
}

build.gradle (Module: app)

    # MAKE SURE YOU DON'T MISS THIS
    apply plugin: "androidx.navigation.safeargs.kotlin"
    # AND THIS
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    # AND THIS
    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_1_8.toString()
    }
    # THIS IS MUST
    dataBinding {
        enabled = true
    }
}
dependencies {
    # ADD below dependencies
    # DON'T REMOVE existing ones
    # Navigation Fragments
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'

    # Navigation UI
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'

    # Material components
    implementation 'com.google.android.material:material:1.1.0'
}

Step 1. Add fragments

  • Right click on package.

  • Add new fragment.

  • Blank fragment

  • Add MainFragment.kt & AboutFragment.kt

  • It would also create respective resource files

Step 2. Add navigation Graph.

  • Right click on res folder.

  • Add navigation/navigation.xml file.

  • Add both fragments created.

  • After adding those, it should look as follows.

Step 3. Add Menu for Drawer.

  • Right click on res folder.

  • Add res/menu/navdrawer_menu.xml

It should have contents as follows.

Step 4. Update activity_main.xml

Step 5. Update MainActivity.kt code as follows.

Last updated

Was this helpful?