Нарисуйте форму круга программно в Android - PullRequest
0 голосов
/ 28 апреля 2019

То, что я хочу сделать, это нарисовать круг и залить его одним цветом (например, оранжевым) и сделать программным путем рамку другого цвета (синего). Я не нашел учебник о том, как это сделать.

Вот что я хочу получить:

enter image description here

1 Ответ

0 голосов
/ 28 апреля 2019

Чтобы получить круг, который можно нарисовать программным способом, вам нужна функция, подобная следующей.

public static GradientDrawable drawCircle(int backgroundColor, int borderColor) {
    GradientDrawable shape = new GradientDrawable();
    shape.setShape(GradientDrawable.OVAL);
    shape.setCornerRadii(new float[]{0, 0, 0, 0, 0, 0, 0, 0});
    shape.setColor(backgroundColor);
    shape.setStroke(10, borderColor);
    return shape;
}

И установите drawable в вашем ImageView следующим образом.

imageView.setBackground(drawCircle(getResources().getColor(android.R.color.holo_blue_dark), getResources().getColor(android.R.color.holo_red_dark)));

Это дает что-то вроде этого.

enter image description here

...