Пространство от жеста
Код: Выделить всё
@Composable
fun RegisterScreen(
viewModel: RegisterCredentialsViewModel
){
Shapes.setStatusBar()
val snackbarHostState = remember { SnackbarHostState() }
val isEnabledInternet by viewModel.isEnabledInternet.observeAsState(null)
val isEnabledRegister by viewModel.isEnabledRegister.observeAsState(null)
val registerResult by viewModel.registerFormResult.observeAsState(null)
LaunchedEffect(registerResult) {
registerResult?.let {
if (it.show) { // Only show Snackbar for error messages
snackbarHostState.showSnackbar(
message = it.message,
withDismissAction = registerResult!!.withDismissAction,
duration = registerResult!!.duration
)
it.show = false
}
}
}
Scaffold(
modifier = Modifier
.fillMaxSize(),
containerColor = hearty_theme_light_primary,
snackbarHost = {
SnackbarHost(
hostState = snackbarHostState
) { data ->
Snackbar(
snackbarData = data,
containerColor = registerResult!!.color
)
}
}
) {
Column (modifier = Modifier.padding(it)){
Image(
painter = painterResource(
when (isEnabledInternet!!) {
true -> R.drawable.img_signup_art
else -> R.drawable.no_internet
}
),
contentDescription = "Register greet art",
modifier = Modifier
.fillMaxWidth()
.padding(all = 15.dp)
.weight(.3f)
)
Surface(
shape = RoundedCornerShape(
topStart = 25.dp,
topEnd = 25.dp
),
modifier = Modifier
.fillMaxWidth()
.weight(.7f)
) {
Column(
modifier = Modifier
// .verticalScroll(rememberScrollState())
// .imePadding()
.padding(horizontal = 25.dp)
.padding(top = 25.dp),
verticalArrangement = Arrangement.SpaceBetween
) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(top = 10.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
var user by rememberSaveable { mutableStateOf("") }
var pass by rememberSaveable { mutableStateOf("") }
var repass by rememberSaveable { mutableStateOf("") }
var email by rememberSaveable { mutableStateOf("") }
val acceptedRegex = Regex("[\\w*.,?!'\"\\|/-=+@#$%^&()\\[\\]{}]*")
OutlinedTextField(
modifier = Modifier
.fillMaxWidth(),
value = user,
onValueChange = { newText ->
run {
if (newText.matches(acceptedRegex) && newText.length
run {
if (newText.matches(acceptedRegex) && newText.length
run {
if (newText.matches(acceptedRegex) && newText.length
run {
if (newText.matches(acceptedRegex) && newText.length
Подробнее здесь: [url]https://stackoverflow.com/questions/79053554/cant-comprehend-how-insets-in-compose-work-why-do-i-have-this-space-here[/url]