Add compose navigation

This commit is contained in:
MM20
2021-09-25 19:57:30 +02:00
parent 36ff52cd2b
commit 4ad3ec049b
4 changed files with 18 additions and 3 deletions
+4
View File
@@ -240,6 +240,10 @@ dependencyResolutionManagement {
) )
) )
alias("androidx.navigation.compose")
.to("androidx.navigation", "navigation-compose")
.version("2.4.0-alpha09")
alias("materialcomponents") alias("materialcomponents")
.to("com.google.android.material", "material") .to("com.google.android.material", "material")
.version("1.5.0-alpha02") .version("1.5.0-alpha02")
+2
View File
@@ -61,6 +61,8 @@ dependencies {
implementation(libs.androidx.compose.animation) implementation(libs.androidx.compose.animation)
implementation(libs.androidx.compose.animationgraphics) implementation(libs.androidx.compose.animationgraphics)
implementation(libs.androidx.navigation.compose)
// Legacy dependencies // Legacy dependencies
implementation(libs.androidx.transition) implementation(libs.androidx.transition)
implementation(libs.materialcomponents) implementation(libs.materialcomponents)
@@ -14,12 +14,15 @@ import androidx.compose.ui.geometry.Size
import androidx.core.view.WindowCompat import androidx.core.view.WindowCompat
import androidx.core.view.doOnLayout import androidx.core.view.doOnLayout
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import com.google.accompanist.insets.ProvideWindowInsets import com.google.accompanist.insets.ProvideWindowInsets
import de.mm20.launcher2.ui.LauncherMainScreen
import de.mm20.launcher2.ui.LauncherTheme import de.mm20.launcher2.ui.LauncherTheme
import de.mm20.launcher2.ui.locals.LocalAppWidgetHost import de.mm20.launcher2.ui.locals.LocalAppWidgetHost
import de.mm20.launcher2.ui.locals.LocalColorScheme import de.mm20.launcher2.ui.locals.LocalColorScheme
import de.mm20.launcher2.ui.locals.LocalWindowSize import de.mm20.launcher2.ui.locals.LocalWindowSize
import de.mm20.launcher2.ui.screens.LauncherMainScreen
import de.mm20.launcher2.ui.theme.WallpaperColors import de.mm20.launcher2.ui.theme.WallpaperColors
import de.mm20.launcher2.ui.theme.colors.DefaultColorScheme import de.mm20.launcher2.ui.theme.colors.DefaultColorScheme
import de.mm20.launcher2.ui.theme.colors.WallpaperColorScheme import de.mm20.launcher2.ui.theme.colors.WallpaperColorScheme
@@ -39,6 +42,8 @@ class ComposeActivity : AppCompatActivity() {
WindowCompat.setDecorFitsSystemWindows(window, false) WindowCompat.setDecorFitsSystemWindows(window, false)
setContent { setContent {
val navController = rememberNavController()
var windowSize by remember { mutableStateOf(Size(0f, 0f)) } var windowSize by remember { mutableStateOf(Size(0f, 0f)) }
findViewById<View>(android.R.id.content).doOnLayout { findViewById<View>(android.R.id.content).doOnLayout {
windowSize = Size(it.width.toFloat(), it.height.toFloat()) windowSize = Size(it.width.toFloat(), it.height.toFloat())
@@ -85,7 +90,11 @@ class ComposeActivity : AppCompatActivity() {
LocalColorScheme provides colorScheme, LocalColorScheme provides colorScheme,
) { ) {
LauncherTheme { LauncherTheme {
LauncherMainScreen() NavHost(navController = navController, startDestination = "home") {
composable("home") {
LauncherMainScreen(navController)
}
}
} }
} }
} }
@@ -36,7 +36,7 @@ import kotlinx.coroutines.launch
InternalCoroutinesApi::class InternalCoroutinesApi::class
) )
@Composable @Composable
fun LauncherMainScreen() { fun LauncherMainScreen(navController: NavController) {
val systemUiController = rememberSystemUiController() val systemUiController = rememberSystemUiController()