Не могу понять, как работают вставки в Compose. Зачем мне это место здесь?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не могу понять, как работают вставки в Compose. Зачем мне это место здесь?

Сообщение Anonymous »

Я пытаюсь узнать, как работают Composables, но это очень сложно, когда один пример, который я вижу, реализует что-то, что у меня есть, работает, а то, что у меня есть, имеет наглость не слушать меня. По сути, это моя составная функция, в которой у меня есть Scaffold, столбец, содержащий изображение, и поверхность, которая по сути является формой регистрации. Теперь, если вы посмотрите на изображение, в Android есть место для навигации по жестам, которое предназначено исключительно для интерпретации жеста для управления системой. Я включил переход от края до края в классе активности, у меня для атрибута активности softInputMode установлено значение «adjustResize», и я не могу понять, почему это пространство вытягивается, я удалил каждый .imePadding() из всех модификаторов , но это пространство все еще существует. Возможно, я тупой и не вижу решения, и я надеюсь, что кто-нибудь прольет свет на мой тупой мозг.
Пространство от жеста

Код: Выделить всё

@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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»