Skip to content

Commit 9bd1a35

Browse files
author
Section One
committed
Codi JC34 - SplashScreen amb un delay en Jetpack Compose
1 parent ee690ad commit 9bd1a35

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

app/src/main/java/es/cibernarium/jetpackcomposeapp/navegacio/NavegacioApp.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@ import androidx.navigation.compose.rememberNavController
88
import androidx.navigation.navArgument
99
import es.cibernarium.jetpackcomposeapp.pantalles.PrimeraPantalla
1010
import es.cibernarium.jetpackcomposeapp.pantalles.SegonaPantalla
11+
import es.cibernarium.jetpackcomposeapp.pantalles.SplashScreen
1112

1213
@Composable
1314
fun NavegacioApp(){
1415
val navController = rememberNavController()
15-
NavHost(navController = navController, startDestination = PantallesApp.PrimeraPantalla.route) {
16+
NavHost(navController = navController, startDestination = PantallesApp.SplashScreen.route) {
17+
composable(route = PantallesApp.SplashScreen.route) {
18+
SplashScreen(navController)
19+
}
1620
composable(route = PantallesApp.PrimeraPantalla.route) {
1721
PrimeraPantalla(navController)
1822
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package es.cibernarium.jetpackcomposeapp.navegacio
22

33
sealed class PantallesApp(val route: String){
4+
object SplashScreen:PantallesApp("splash_screen")
45
object PrimeraPantalla:PantallesApp("primera_pantalla")
56
object SegonaPantalla:PantallesApp("segona_pantalla")
67
}

app/src/main/java/es/cibernarium/jetpackcomposeapp/pantalles/SplashScreen.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,25 @@ import androidx.compose.foundation.layout.fillMaxSize
77
import androidx.compose.foundation.layout.size
88
import androidx.compose.material3.Text
99
import androidx.compose.runtime.Composable
10+
import androidx.compose.runtime.LaunchedEffect
1011
import androidx.compose.ui.Alignment
1112
import androidx.compose.ui.Modifier
1213
import androidx.compose.ui.res.painterResource
1314
import androidx.compose.ui.text.font.FontWeight
1415
import androidx.compose.ui.unit.dp
1516
import androidx.compose.ui.unit.sp
17+
import androidx.navigation.NavController
1618
import es.cibernarium.jetpackcomposeapp.R
19+
import es.cibernarium.jetpackcomposeapp.navegacio.PantallesApp
20+
import kotlinx.coroutines.delay
1721

1822
@Composable
19-
fun SplashScreen(){
23+
fun SplashScreen(navController: NavController){
24+
LaunchedEffect(key1 = true) {
25+
delay(5000)
26+
navController.popBackStack() //Buidem el historial per impedir que pugui tornar el SplashScreen
27+
navController.navigate(PantallesApp.PrimeraPantalla.route)
28+
}
2029
Splash()
2130
}
2231

0 commit comments

Comments
 (0)