comment dessiner un rectangle vide avec etc. borderWidth = 3 et borderColor = noir et une partie dans le rectangle n'ont pas de contenu ni de couleur. Quelle fonction dans Canvas utiliser
void drawRect(float left, float top, float right, float bottom, Paint paint)
void drawRect(RectF rect, Paint paint)
void drawRect(Rect r, Paint paint)
Merci.
J'essaye cet exemple
Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
c.drawRect(100, 100, 200, 200, myPaint);
Il dessine un rectangle et le remplit de couleur noire mais je veux juste "encadrer" comme cette image:
Réponses:
Essayez
paint.setStyle(Paint.Style.STROKE)
?la source
En supposant que "une partie dans le rectangle n'a pas de couleur de contenu " signifie que vous voulez des remplissages différents dans le rectangle; vous devez dessiner un rectangle dans votre rectangle, puis avec une largeur de trait de 0 et la ou les couleurs de remplissage souhaitées.
Par exemple:
DrawView.java
L'activité pour le démarrer:
StartDraw.java
... se révélera de cette façon:
la source
la source
Créez une nouvelle classe
MyView, Which extends View
. Remplacez laonDraw(Canvas canvas)
méthode sur laquelle dessiner un rectangleCanvas
.Ensuite, déplacez votre activité Java à l'
setContentView()
aide de notre vue personnalisée, MyView.Pour plus de détails, vous pouvez visiter ici
la source
et l'un ou l'autre de vos
drawRect
devrait fonctionner.la source
Je ne sais pas si c'est trop tard, mais la façon dont j'ai résolu ce problème a été de dessiner quatre rectangles minces qui, ensemble, formaient une grande bordure. Dessiner la bordure avec un rectangle semble être annulable car ils sont tous opaques, vous devez donc dessiner chaque bord de la bordure séparément.
la source
Le code est parfait, il suffit de définir le style de peinture comme STROKE
la source