Если вы хотите создать нарисованное изображение, вы можете установить другой радиус для другого угла, например
<corners
android:topRightRadius="15dp"
android:topLeftRadius="15dp"
android:bottomLeftRadius="15dp"/>
Кроме того, вы можете использовать
GradientDrawable для создания фонового изображения и использования setCornerRadii
для переменного радиуса угла.
Пример для GradientDrawable
GradientDrawable gradientDrawable= new GradientDrawable();
gradientDrawable.setCornerRadii(15,15,15,15,15,15,0,0);
void setCornerRadii (float [] радиусы)
Определяет радиусы для каждого из 4 углов. Для каждого угла массив
содержит 2 значения, [X_radius, Y_radius]. Углы заказаны
верхний левый, верхний правый, нижний правый, нижний левый. Это свойство
Соблюдается, только если фигура имеет тип RECTANGLE.
для установки цвета используйте метод gradientDrawable.setColor(YOUR_COLOR)
, и вы можете использовать несколько цветов для градиентного вида.
Здесь (15,15,15,15,15,15,0,0) предлагается радиус X и радиус Y для всех 4 углов, начиная с верхнего левого угла.