Я хочу создать фон для моего основного вида, где углы topLeft
и bottomLeft
будут округлены, а правые углы будут нормальными.
Я делал это несколько раз, чтобы мои RecyclerView
макеты создавали закругленные углы для каждого View
, но теперь это вызвало ошибку рендеринга, так как я использую elevation
или translationZ
для создания мягкой тени вокруг View
.
Ошибка: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed.
Я нашел причину этой ошибки. Кажется, что у Android P есть некоторые проблемы с радиусом угла, как было указано здесь: java.lang.IllegalArgumentException: Invalid Region.Op - только INTERSECT и DIFFERENCE при сбое фона кнопки
Проблема в том, что если я применю android:radius
, это изменит радиус для всех 4 углов, чего я не хочу. Есть ли способ сделать его работоспособным?
Вот мой фоновый xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/background_light"/>
<corners
android:topLeftRadius="7dp"
android:bottomLeftRadius="7dp"/>