2010-10-23 5 views
11

È possibile disegnare un cerchio su una tela in Android con un bordo di colore diverso utilizzando solo un metodo drawCircle?Android drawCircle con bordo di colore diverso

Ho notato il PaintStyle di FILL_AND_STROKE ma non riesco ad avere colori diversi per il riempimento e il bordo.

Davvero non voglio dover chiamare due metodi drawCircle.

risposta

8

Definizione Paint.Style dice:

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

Così sembra che non può essere fatto in un colpo solo.

Se si esegue questa operazione molto, è possibile creare un metodo di supporto statico che esegue due chiamate per disegnare un cerchio con bordi.

Oppure è possibile creare un oggetto personalizzato android.graphics.drawable.shapes.Shape e sovrascrivere il metodo draw (..).

7

Grazie Peter Knego!

se nel caso qualcuno ha bisogno di forma xml qui è

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

è possibile disegnare un cerchio con Syle.STROKE uno strato sopra l'altro cerchio.

+1

come la questione suggerisce è possibile con una sola chiamata drawCircle. il tuo metodo è quello che stavo cercando di scappare – skyfoot

2

provare a fare una classe e la creazione del cerchio con i bordi facendo due uno più piccolo dell'altro quindi utilizzare la classe come la forma invece delle forme predefinite