
Я вижу неожиданный красный контур/обрез при предварительном просмотре составного объекта на физическом устройстве (а иногда и при предварительном просмотре), хотя внутренний составной объект должен полностью закрывать фон.
У меня есть блок с красным закругленным фоном, и внутри него Строка с белым закругленным фоном с использованием того же размера и радиуса угла.
Однако при предварительном просмотре на мобильном устройстве я все равно вижу бледные красные изогнутые края, как показано на снимке экрана.
Код: Выделить всё
@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
Мобильная версия