bryankeltonadams
06/09/2024, 10:14 PMbryankeltonadams
06/09/2024, 10:14 PMpackage com.example.testsnackbarinset
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.BottomAppBar
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Snackbar
import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.example.testsnackbarinset.ui.theme.TestSnackbarInsetTheme
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
TestSnackbarInsetTheme {
val snackbarHostState = remember { SnackbarHostState() }
val coroutineScope = rememberCoroutineScope()
Scaffold(modifier = Modifier.fillMaxSize(),
bottomBar = {
BottomAppBar {
Text("Bottom bar")
}
},
snackbarHost = {
SnackbarHost(
hostState = snackbarHostState,
modifier = Modifier.imePadding()
) {
Snackbar(snackbarData = it)
}
}) { innerPadding ->
LaunchedEffect(Unit) {
coroutineScope.launch {
delay(5000)
snackbarHostState.showSnackbar("Hello")
}
}
Box(
modifier = Modifier
.padding(innerPadding)
.fillMaxSize()
) {
OutlinedTextField(
value = "Egg",
onValueChange = {},
modifier = Modifier.align(Alignment.Center)
)
}
}
}
}
}
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
TestSnackbarInsetTheme {
Greeting("Android")
}
}
bryankeltonadams
06/09/2024, 10:15 PMlesincs
06/10/2024, 2:32 AM