0

現在、下部のナビゲーションには 3 つのオプションがあり、それらのナビゲーション グラフがあります。

mainActivity.xml ファイルの一部は次のようになります。

<fragment
        android:id = "@+id/nav_host_fragment"
        android:layout_width = "match_parent"
        android:layout_height = "0dp"
        android:layout_weight = "1"
        android:name = "androidx.navigation.fragment.NavHostFragment"
        app:navGraph = "@navigation/nav_graph"
        app:defaultNavHost = "true" />

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id = "@+id/bottom_nav"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        app:menu = "@menu/bottom_nav" />

そして私のmainActivityで私はこのコードを書きました、

navController = Navigation.findNavController(this, R.id.nav_host_fragment)
bottom_nav.setupWithNavController(navController)
NavigationUI.setupActionBarWithNavController(this, navController)

ナビゲーションに関連するすべては、jetpack ナビゲーション ライブラリによって処理されます。ここで、ナビゲーション ドロワーも追加し、ドロワーにさまざまなメニュー項目 (下部のナビゲーションにある 3 つだけでなく) を追加したいので、ナビゲーション ドロワー用の新しいメニュー リソース ファイルを追加します。ボトムナビとナビドロワーの両方?Fragment トランザクションを手動で実行したり、Fragment Manager を操作したりしたくありません。

私が考えることができる 1 つのアプローチは、すべてのフラグメントを単一のナビゲーション グラフ (現在は下部ナビゲーションに使用されています) に追加し、同じ navController をナビゲーション ドロワーにも使用することですが、より良いアプローチを探しています。

4

1 に答える 1