Android drawCircle с разной цветовой рамкой

Можно ли нарисовать круг на холсте в Android с другой границей цвета, используя только один метод drawCircle?

Я заметил PaintStyle из FILL_AND_STROKE, но can not, похоже, имеет разные цвета как для заливки, так и для границы.

Мне действительно не нужно называть два метода drawCircle.

Ответ 1

Определение Paint.Style говорит:

Paint.Style The Style specifies if the primitive being drawn is filled, 
stroked, or both (in the same color). 

Итак, кажется, что это невозможно сделать за один раз.

Если вы делаете это много, вы можете создать статический вспомогательный метод, который выполняет два вызова для рисования граничного круга.

Или вы можете создать собственный android.graphics.drawable.shapes.Shape объект и переопределить его метод draw (..).

Ответ 2

Спасибо, Питер Кьего!

если в случае, если кто-то нуждается в Shape xml здесь, он

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
 android:shape="oval">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="5dp" android:color="#FFFF00" />
    <size
        android:width="50dp"
        android:height="50dp" />

    <corners android:radius="20dp" />
</shape> 

Ответ 3

Попробуйте создать класс и создать круг с границами, сделав два из них меньшими, чем другие, а затем используйте класс как свою форму вместо предопределенных форм.

Ответ 4

Вы можете нарисовать круг с помощью Syle.STROKE слоя над другим кругом.