Должен ли модификатор тени Android Jetpack Compose выглядеть так?
[img]
https://i.sstatic. net/E18vp.png[/img]
Я в таком замешательстве. Я написал несколько компонентов и тестирую модификатор тени, который, как мне кажется, был представлен в compose-1.2.0-alpha. Я сейчас использую 1.2.1. Мой компонент написан так.
Код: Выделить всё
fun Labels() {
Label(
modifier = Modifier.shadow(
elevation = 1.dp,
shape = RoundedCornerShape(4.dp),
ambientColor = Color.Blue,
spotColor = Color.Blue
),
text = field.name,
style = typographies.tagDefault
)
}
По моим собственным причинам, метка является зеркальной копией текста, но это означает, что она сводится к следующему::
Код: Выделить всё
fun Label(...) {
BasicText(
text,
modifier,
mergedStyle,
onTextLayout,
overflow,
softWrap,
maxLines,
)
}
Итак, в целом и насколько я понимаю, эффект тени в конечном итоге применяется к BasicText и ни к чему больше. Это похоже на корпус на изображении, но почему он такой толстый? Почему это больше не похоже на границу, аналогичную box-shadow в CSS? Как мне сделать так, чтобы оно выглядело так, как должно, и было бы похоже на box-shadow в CSS? Я попробовал несколько вещей, например, перенес модификатор на более высокие части компонентов и поэкспериментировал с высотой. Но все, что было сделано, это сделало тень немного размытой и, возможно, немного толще. Кроме того, если я изменю форму на что-то вроде RoundedCornerShape(percent = 50), она почти заполнит весь фон этим синим цветом, что определенно не предусмотрено.
Подробнее здесь:
https://stackoverflow.com/questions/739 ... ose-shadow