Jetpack Compose: фон RoundedCornerShape истекает через дочернюю компоновку в предварительной версииAndroid

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

Сообщение Anonymous »


Изображение
Я вижу неожиданный красный контур/обрез при предварительном просмотре составного объекта на физическом устройстве (а иногда и при предварительном просмотре), хотя внутренний составной объект должен полностью закрывать фон.
У меня есть блок с красным закругленным фоном, и внутри него Строка с белым закругленным фоном с использованием того же размера и радиуса угла.
Однако при предварительном просмотре на мобильном устройстве я все равно вижу бледные красные изогнутые края, как показано на снимке экрана.

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

@Composable
private fun UiTest() {
Box(
modifier = Modifier
.width(200.dp)
.height(82.dp)
.background(
color = Color.Red,
shape = RoundedCornerShape(24.dp)
)
) {
Row(
modifier = Modifier
.fillMaxSize()
.background(
color = Color.White,
shape = RoundedCornerShape(24.dp)
)
)
}
}
Ожидаемое поведение
Белая строка должна полностью закрывать красный фон, поэтому красный цвет не должен быть виден.
Фактическое поведение
Тонкая красная кривая/контур все еще видна по краям (особенно заметно на реальном устройстве).
Снимок экрана
(прикрепите изображение, которым вы поделились)
Вопрос
  • Почему родительский фон все еще виден, хотя дочерний фон заполняет весь размер?
  • Вызвано ли это сглаживанием, обрезание формы или проблема с рендерингом Compose?
  • Каков правильный способ избежать этого кровотечения при использовании закругленных углов?


Подробнее здесь: https://stackoverflow.com/questions/798 ... composable
Ответить

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

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

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

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

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