全体の画面構成として
という構成を例にします。
また、縦画面のときはHome➡Settings➡Home、Home➡Listing➡Homeという画面遷移を行い、横画面のときは、左ペインにHomeを固定し、Homeの操作により右ペインにSettingsまたはListingを表示するようにします。
各画面のパッケージフォルダーを作成します。
パッケージフォルダーの作成app/src/mainのuiフォルダーで右クリック➡『新規(N)』➡『パッケージ』でパッケージフォルダーを作成します。
ui/homeパッケージを作成します。 同様に画面遷移を実装するため、Compose Navigationを導入します。
バージョンカタログにCompose Navigationの情報を追記します。
[versions] : navigation = "2.9.4" # https://mvnrepository.com/artifact/androidx.navigation/navigation-compose [libraries] : navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" } [plugins] : [bundles] navigation-compose = [ "compose-ui", "compose-material", "compose-activity", "navigation-compose" ]
追記後、『Sync Now』で内容をプロジェクトに反映させます。
appモジュールのbuild.gradle.ktsにCompose Navigationの依存ライブラリを追記します。
: dependencies { : implementation(libs.bundles.navigation.compose) : }
追記後、『Sync Now』で内容をプロジェクトに反映させます。
appモジュールのMainActivityに画面遷移を実装します。
: import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.NavigationUI import com.google.android.material.bottomnavigation.BottomNavigationView : class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { : setContentView(R.layout.activity_main) val bottomNavigation = findViewById<BottomNavigationView>(R.id.bottom_navigation) val navHostFragment = supportFragmentManager.findFragmentById(R.id.fragmentContainerView) as NavHostFragment NavigationUI.setupWithNavController(bottomNavigation, navHostFragment.navController) } }