Как лучше всего сделать пользовательский интерфейс отзывчивым в Jetpack Compose?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как лучше всего сделать пользовательский интерфейс отзывчивым в Jetpack Compose?

Сообщение Anonymous »

Итак, я создаю приложение как его часть, и в его пользовательском интерфейсе есть много компоновочных элементов.
Пример компоновки прикреплен ниже

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

@Composable
fun RegisterUserPage(
) {
Box(
modifier = Modifier
.fillMaxSize()
.background(colorResource(id = R.color.white))
) {
Column(
modifier = Modifier
.fillMaxSize()
.background(colorResource(id = R.color.white))
) {
Spacer(modifier = Modifier.height(90.dp))
Text(
text = stringResource(id = R.string.setup_master_password),
fontFamily = montserratFamily,
fontWeight = FontWeight.W800,
fontSize = 30.sp,
color = colorResource(id = R.color.onboarding_welcome),
modifier = Modifier.padding(start = 30.dp)
)
Text(
text = stringResource(id = R.string.setup_master_password_two),
fontFamily = montserratFamily,
fontWeight = FontWeight.W800,
fontSize = 30.sp,
color = colorResource(id = R.color.onboarding_welcome),
modifier = Modifier.padding(start = 30.dp)
)
Spacer(modifier = Modifier.height(10.dp))
Text(
text = stringResource(id = R.string.protect_account),
fontFamily = montserratFamily,
fontWeight = FontWeight.W500,
fontSize = 15.sp,
color = colorResource(id = R.color.onboarding_description_bottom),
modifier = Modifier.padding(start = 30.dp)
)
Text(
text = stringResource(id = R.string.protect_account_two),
fontFamily = montserratFamily,
fontWeight = FontWeight.W500,
fontSize = 15.sp,
color = colorResource(id = R.color.onboarding_description_bottom),
modifier = Modifier.padding(start = 30.dp)
)
Spacer(modifier = Modifier.height(50.dp))
}
Rectangle(
modifier = Modifier
.width(20.dp)
.align(alignment = Alignment.CenterEnd),
fillColor = colorResource(id = R.color.onboarding_green)
)
}
}
Это подходит для большинства экранов телефонов. Но, конечно, мне нужно сделать его отзывчивым, поскольку это лучший способ сделать это (поскольку я тестировал на разных экранах, я заметил несоответствия...). Так как же лучше всего сделать его отзывчивым?
  • Мы можем динамически решать, какое значение dp должно быть в зависимости от размера экрана, а какое нет?
    на основе размера экрана, и я могу установить значения как float, например 1f, 0.1f и т. д. вместо dp и sp ex - (screenWidth * 0.04f).sp, // 4% ширины экрана как шрифт размер?
или есть еще лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ck-compose
Ответить

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

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

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

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

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