Я хочу создать фон для моего основного вида, где углы topLeft
и bottomLeft
будут закруглены, а правые углы будут нормальными.
Я делал это несколько раз для своих макетов RecyclerView
, чтобы сделать закругленные углы для каждого View
, но теперь это вызывало ошибку рендеринга, поскольку я использую elevation
или translationZ
для создания мягкой тени вокруг View
.
Ошибка: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed.
Я нашел причину этой ошибки. Похоже, что у Android P есть некоторые проблемы с угловым радиусом, как было указано здесь: and-diffe">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"/>