11

1つの方法だけを使用して、Androidのキャンバスに異なる色の境界線で円を描くことは可能drawCircleですか?

FILL_AND_STROKEのPaintStyleに気づきましたが、塗りつぶしと境界線の両方で異なる色を使用できないようです。

私は本当に2つの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). 

ですから、一度に行うことはできないようです。

これを頻繁に行うと、境界線の円を描画するために2回の呼び出しを行う静的ヘルパーメソッドを作成できます。

または、カスタムandroid.graphics.drawable.shapes.Shapeオブジェクトを作成し、そのdraw(..)メソッドをオーバーライドすることもできます。

于 2010-10-23T15:06:27.167 に答える
7

Peter Knegoに感謝します!

ここでShapexmlが必要な場合は、

<?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

クラスを作成し、2つをもう一方より小さくして境界線のある円を作成してから、事前定義された図形の代わりにクラスを図形として使用してみてください

于 2012-06-10T00:11:29.367 に答える
0

Syle.STROKEを使用して、他の円の上にレイヤーを描画して円を描くことができます。

于 2012-01-26T14:54:13.807 に答える