Jetpack Compose Text и Image перекрываются внутри проблемы с макетом столбца
Я использую
Jetpack Compose
для разработки динамического макета внутри приложения для Android. layout используется для размещения таких элементов, как layout. Такое поведение достигается с помощью
LinearLayout
ориентация
Vertical
использование без сочинения. Внутри столбца я добавил один сверху и один текст, который я хочу отобразить под ним. Но после размещения текста внутри макета Compose он перекрывается. Как это решить. Код для добавления
Image
а также
Text
составляет
@Composable
fun GreetingSectionExperimental(
name: String = "Philipp"
) {
//var text by remember { mutableStateOf(TextFieldValue("")) }
Column(
verticalArrangement = Arrangement.Top,
modifier = Modifier.fillMaxSize()
) {
Image(
painterResource(id = R.drawable.ic_launcher_background),
modifier = Modifier
.fillMaxWidth()
.height(80.dp).offset(0.dp,35.dp),
alignment = Alignment.Center,
contentDescription = ""
)
Text(
text = "Login / Sign Up",
Modifier.padding(10.dp).align(CenterHorizontally),
color = textColor, fontSize = 18.sp,
fontWeight = FontWeight.SemiBold
)
}
}
Как это решить? Внутри тока чего не хватает или
Column
не поддерживает различные виды элементов.
2 ответа
Вам нужно удалить свойство «Смещение» из вашего изображения, код должен выглядеть так
@Composable
fun GreetingSectionExperimental(
name: String = "Philipp"
) {
//var text by remember { mutableStateOf(TextFieldValue("")) }
Column(
verticalArrangement = Arrangement.Top,
modifier = Modifier.fillMaxSize()
) {
Image(
painterResource(id = R.drawable.ic_launcher_background),
modifier = Modifier
.fillMaxWidth()
.height(80.dp), //Remove the offset here
alignment = Alignment.Center,
contentDescription = ""
)
Text(
text = "Login / Sign Up",
Modifier.padding(10.dp).align(CenterHorizontally),
color = textColor, fontSize = 18.sp,
fontWeight = FontWeight.SemiBold
)
}
}
Лучшее решение - использовать
Spacer(modifier = Modifier.height(20.dp))
. Это создаст пространство между теми элементами, которые между этим добавлены.