:feature:depart:homeモジュールにnavigationディレクトリ(パッケージ)を追加し、直下にホーム画面のNavGraphとしてDepartHomeNavGraph.ktを作成します。
package jp.co.progress_llc.portal.feature.depart.home.navigation import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import jp.co.progress_llc.portal.feature.depart.home.presentation.DepartHomeScreen const val DEPART_HOME = "depart_home" fun NavGraphBuilder.departHomeNavGraph() { composable(DEPART_HOME) { DepartHomeScreen() } }
:feature:depart(窓口)モジュールのbuild.gradle.ktsにNavGraphの作成に必要な依存を追記します。
plugins { : alias(libs.plugins.hilt) } dependencies { implementation(libs.hilt.navigation.compose) implementation(libs.hilt.android) implementation(project(":feature:depart:home")) ksp(libs.hilt.compiler) }
追記後、『Sync Now』で内容をプロジェクトに反映させます。
:feature:depart(窓口)モジュールにnavigationディレクトリ(パッケージ)を追加し、直下にDepartNavGraph.ktを作成します。
package jp.co.progress_llc.portal.feature.depart.navigation import androidx.navigation.NavGraphBuilder import androidx.navigation.navigation import jp.co.progress_llc.portal.feature.depart.home.navigation.DEPART_HOME import jp.co.progress_llc.portal.feature.depart.home.navigation.departHomeNavGraph const val DEPART_ROOT = "depart_root" fun NavGraphBuilder.departNavGraph() { navigation( startDestination = DEPART_HOME, route = DEPART_ROOT ) { departHomeNavGraph() } }
:feature:departモジュールにdiディレクトリ(パッケージ)を追加し、直下にDepartNavGraphModule.ktを作成します。
package jp.co.progress_llc.portal.feature.depart.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.navigation.departNavGraph @Module @InstallIn(SingletonComponent::class) object DepartNavGraphModule { @Provides @IntoSet fun provideDepartNavGraph(): NavGraphBuilder.() -> Unit = { departNavGraph() } }
:appモジュールのbuild.gradle.ktsに発車予定表示機能への依存を追記します。
: dependencies { : implementation(project(":feature:depart")) : }
追記後、『Sync Now』で内容をプロジェクトに反映させます。
発車予定表機能はホーム画面の列車アイコンから遷移してきますので、:appモジュールのAppHomeScreen.ktにナビゲーション(画面遷移)を追記します。
: 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.navigation.DEPART_ROOT : fun AppHomeScreen () { fun AppHomeScreen( navController: NavController = LocalNavController.current ) { : IconButton( onClick = { }, onClick = { navController.navigate(DEPART_ROOT) }, : fun AppHomeScreenPreview() { AppTheme { AppHomeScreen() AppHomeScreen(navController = rememberNavController()) } }
エミュレーターでアプリケーションを実行して、画面遷移で発車予定表示機能のホーム画面が表示されることを確認します。