2010-10-23 8 views
11

Est-il possible de dessiner un cercle sur une toile dans Android avec une bordure de couleur différente en utilisant une seule méthode drawCircle?DrawCircle Android avec bordure de couleur différente

J'ai remarqué le PaintStyle de FILL_AND_STROKE mais ne semble pas avoir des couleurs différentes pour le remplissage et la bordure.

Je ne veux vraiment pas avoir à appeler deux méthodes drawCircle.

Répondre

8

Définition de Paint.Style dit:

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

Il semble donc qu'il ne peut se faire en une seule fois.

Si vous faites cela beaucoup, vous pouvez créer une méthode d'aide statique qui fait deux appels pour dessiner un cercle à bordure.

Ou vous pouvez créer un objet personnalisé android.graphics.drawable.shapes.Shape et remplacer sa méthode de dessin (..).

7

Merci Peter Knego!

si dans le cas où une personne dans le besoin de xml de forme ici, il est

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

Vous pouvez dessiner un cercle avec Syle.STROKE une couche sur l'autre cercle.

+1

que la question suggère est-il possible avec un appel drawCircle. votre méthode est ce que j'essayais d'échapper à – skyfoot

2

Essayez de faire une classe et la création du cercle avec des bordures en faisant deux un plus petit que l'autre puis utilisez la classe comme forme au lieu des formes prédéfinies

Questions connexes