現在、下部のナビゲーションには 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 をナビゲーション ドロワーにも使用することですが、より良いアプローチを探しています。