#android #android-view #android-canvas #android-drawable
Вопрос:
Я использую функцию GradientDrawable для нанесения радиуса угла на прямоугольник, эта возможность рисования, наконец, установлена в текстовом представлении
val drawable = GradientDrawable()
drawable.shape = GradientDrawable.RECTANGLE
drawable.setStroke(3, Color.YELLOW)
drawable.setColor(Color.RED)
drawable.cornerRadius = 10.toFloat()
view.setBackgroundDrawable(drawable)
У вас есть какие-либо идеи о том, почему это не работает и все еще представляет собой прямоугольник без применения радиуса угла?
Я пробовал звонить mutate()
раньше, но все еще не работал, а также пробовал cornerRadii, но ничего 🙁
Комментарии:
1. Перейдите по этой ссылке : developer.android.com/reference/android/graphics/drawable/…
Ответ №1:
Здесь example
описано, как создать GradientDrawable
фигуру программно.
GradientDrawable shape = new GradientDrawable();
shape.setShape(GradientDrawable.RECTANGLE);
shape.setColor(Color.RED);
shape.setStroke(3, Color.YELLOW);
Для изменения радиуса для всех углов градиента.
shape.setCornerRadius(15);
Для изменения радиуса для определенных углов градиента.
shape.setCornerRadii(new float[] { 8, 8, 8, 8, 0, 0, 0, 0 });
Вы можете использовать этот рисунок в качестве фона, как показано ниже :
view.setBackgroundDrawable(shape);
Для получения более подробной информации нажмите здесь