:feature:depart:routeモジュールにnavigationディレクトリ(パッケージ)を追加し、直下にDepartRouteNavGraph.ktを作成します。
package jp.co.progress_llc.portal.feature.depart.route.navigation import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import jp.co.progress_llc.portal.feature.depart.route.presentation.DepartRouteScreen const val DEPART_ROUTE = "depart_route" fun NavGraphBuilder.departRouteNavGraph() { composable(DEPART_ROUTE) { DepartRouteScreen() } }
:feature:depart:routeモジュールにdiディレクトリ(パッケージ)を追加し、直下にDepartRouteNavGraphModule.ktを作成します。
package jp.co.progress_llc.portal.feature.depart.route.di import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import dagger.multibindings.IntoSet import androidx.navigation.NavGraphBuilder import jp.co.progress_llc.portal.feature.depart.route.navigation.departRouteNavGraph @Module @InstallIn(SingletonComponent::class) object DepartRouteNavGraphModule { @Provides @IntoSet fun provideDepartRouteNavGraph(): NavGraphBuilder.() -> Unit = { departRouteNavGraph() } }
経路一覧編集画面は、発車予定表示機能のホーム画面から遷移しますので、:feature:depart:homeモジュールに経路一覧編集画面への依存を追記します。
: dependencies { : implementation(project(":core:navigation")) implementation(project(":feature:depart:route")) : }
追記後、『Sync Now』で内容をプロジェクトに反映させます。
発車予定表示機能のホーム画面に経路一覧編集画面への遷移を追記します。
: import androidx.navigation.NavController import androidx.navigation.compose.rememberNavController : import jp.co.progress_llc.portal.core.navigation.LocalNavController import jp.co.progress_llc.portal.feature.depart.route.navigation.DEPART_ROUTE : fun DepartHomeScreen() { fun DepartHomeScreen( navController: NavController = LocalNavController.current ) { : CustomExposedDropdownMenuBox( : onAdditionalItemClick = { } onAdditionalItemClick = { navController.navigate(DEPART_ROUTE) } : fun DepartHomeScreenPreview() { AppTheme { DepartHomeScreen() DepartHomeScreen(navController = rememberNavController())
エミュレーターでアプリケーションを実行して、画面遷移で発車予定表示機能の経路一覧編集画面が表示されることを確認します。