Модификаторы размера игнорируются внутри поверхности.
Я новичок в Compose. Я использую следующий код:
Card(
modifier = Modifier
.width(100.dp)
.height(100.dp),
shape = RoundedCornerShape(15.dp),
backgroundColor = Color.Gray
)
Но по неизвестной причинеCard
занимает весь экран и меняет свой размер только в том случае, если вы используете необходимые модификаторы.fillMaxWidth(0.2f)
тоже не работает. Помоги пожалуйста.
ТолькоrequiredHeight
иrequiredWidth
работа. Остальные меню в порядке
1 ответ
Вы используете в качестве родительского контейнера aSurface
. ЭтоBox
с
propagateMinConstraints = true
параметр, который заставляет первого потомка иметь такие же минимальные ограничения или размеры.
В документе:
Если
propagateMinConstraints
установлено значение true, минимальный размер, установленный в Box, также будет применяться к содержимому, тогда как в противном случае минимальный размер будет применяться только кBox.
Используйте столбец, чтобы обернутьCard
.
Surface(
modifier = Modifier.fillMaxSize(),
){
Column(){
Card(
modifier = Modifier
.width(100.dp)
.height(100.dp),
shape = RoundedCornerShape(15.dp),
backgroundColor = Color.Gray
) {}
}
}