11

是否可以仅使用一种方法在具有不同颜色边框的 Android 画布上绘制一个圆圈drawCircle

我注意到 FILL_AND_STROKE 的 PaintStyle 但填充和边框似乎都没有不同的颜色。

我真的不想调用两个 drawCircle 方法。

4

4 回答 4

9

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(..) 方法。

于 2010-10-23T15:06:27.167 回答
7

谢谢彼得克尼戈!

如果有人需要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> 
于 2011-08-30T12:47:04.670 回答
2

尝试创建一个类并通过使两个比另一个小来创建带边框的圆圈,然后使用该类作为您的形状而不是预定义的形状

于 2012-06-10T00:11:29.367 回答
0

您可以使用 Syle.STROKE 在另一个圆圈上画一个图层。

于 2012-01-26T14:54:13.807 回答