package com.yinuo.safetywatcher.ui import androidx.compose.animation.animateColorAsState import androidx.compose.animation.core.tween import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import kotlinx.coroutines.delay /** * @Description: todo * @Author: yshh * @CreateDate: 2022/2/22 14:19 */ @Composable fun SplashView(startMain: () -> Unit) { var enabled by remember { mutableStateOf(false) } val bgColor: Color by animateColorAsState( if (enabled) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.primary.copy(alpha = 0.3f), animationSpec = tween(durationMillis = 2000) ) val textColor: Color by animateColorAsState( if (enabled) Color.White else Color.White.copy(alpha = 0.3f), animationSpec = tween(durationMillis = 2000) ) Box( Modifier .fillMaxSize() .background(Color.White) ) { Box( Modifier .fillMaxSize() .background(bgColor), contentAlignment = Alignment.Center ) { Text(text = "Safety Watcher", color = textColor) } } LaunchedEffect(Unit) { enabled = true delay(2000) startMain.invoke() } }