Android drawCircle具有不同的颜色边框

时间:2010-10-23 14:10:58

标签: android android-canvas

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

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

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

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:7)

谢谢Peter Knego!

如果任何需要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> 

答案 2 :(得分:2)

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

答案 3 :(得分:0)

您可以使用Style.STROKE在另一个圆圈上绘制一个圆圈。