Форум для тех, кто программирует под Android
Anonymous
Как разделить высоту экрана пополам в Jetpack Compose?
Сообщение
Anonymous » 26 сен 2024, 15:52
Я хочу разделить экран пополам по горизонтали в Jetpack Compose следующим образом:
Код: Выделить всё
@Composable
fun Splash(alpha: Float) {
val configuration = LocalConfiguration.current
val screenHeight = configuration.screenHeightDp.dp
val screenWidth = configuration.screenWidthDp.dp
val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.cat2))
Box(
modifier = Modifier
.background(Blue)
.height(screenHeight / 2)
.padding(8.dp),
contentAlignment = Alignment.TopCenter
) {
Column() {
Text(text = "Example", fontSize = 44.sp)
}
}
Box(
modifier = Modifier
.background(Red)
.height(screenHeight / 2)
.padding(8.dp),
contentAlignment = Alignment.BottomCenter
){
Column {
Text(text = "Example", textAlign = TextAlign.End, color = Grey, fontSize = 12.sp)
}
}
}
Я могу получить высоту экрана с помощью LocalConfiguration.current в dp, и я установил выравнивание верхнего и нижнего полей как Alignment.TopCenter и Alignment.BottomCenter соответственно, но это не сработало. Второе поле (красное) остается поверх синего.
Подробнее здесь:
https://stackoverflow.com/questions/710 ... ck-compose
1727355177
Anonymous
Я хочу разделить экран пополам по горизонтали в Jetpack Compose следующим образом: [img]https://i.sstatic.net/QnXY5.jpg[/img] [code] @Composable fun Splash(alpha: Float) { val configuration = LocalConfiguration.current val screenHeight = configuration.screenHeightDp.dp val screenWidth = configuration.screenWidthDp.dp val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.cat2)) Box( modifier = Modifier .background(Blue) .height(screenHeight / 2) .padding(8.dp), contentAlignment = Alignment.TopCenter ) { Column() { Text(text = "Example", fontSize = 44.sp) } } Box( modifier = Modifier .background(Red) .height(screenHeight / 2) .padding(8.dp), contentAlignment = Alignment.BottomCenter ){ Column { Text(text = "Example", textAlign = TextAlign.End, color = Grey, fontSize = 12.sp) } } } [/code] Я могу получить высоту экрана с помощью LocalConfiguration.current в dp, и я установил выравнивание верхнего и нижнего полей как Alignment.TopCenter и Alignment.BottomCenter соответственно, но это не сработало. Второе поле (красное) остается поверх синего. Подробнее здесь: [url]https://stackoverflow.com/questions/71009330/how-to-split-screen-height-in-half-in-jetpack-compose[/url]