2013-09-02 2 views
2

je l'ai utilisé ci-dessous le code pour en tirer une vueAndroid - Besoin d'aide pour OnDraw() vue échantillon

@Override 

protected synchronized void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    paint.setStyle(Style.STROKE); 
    paint.setAntiAlias(true); 

    RectF rectF = new RectF(0,0,30,30); 
    RectF rectF1 = new RectF(200,0,230,30); 
    canvas.drawArc(rectF, 270, 180, false, paint); 
    canvas.drawArc(rectF1, 90, 180, false, paint); 
    canvas.drawLine(15, 0, 215, 0, paint); 
    canvas.drawLine(15, 30, 215,30, paint); 

} 

La sortie est comme ci-dessous

enter image description here

mais je veux remplir la couleur à l'intérieur de la vue.

Comment y parvenir?

Répondre

0

utiliser le chemin au lieu d'appeler quatre fois drawLine/DrawArc

0

J'ai changé mon code OnDraw. Maintenant, ça marche.

Path path = new Path(); 
path.arcTo(rectF, 270, 180); 
     path.lineTo(200,30); 
     path.arcTo(rectF1, 90, 180); 
     path.close(); 
     canvas.drawPath(path, paint); 
+0

ne créez pas d'objet Path à l'intérieur d'onDraw, faites-le dans le constructeur View – pskink

+0

@pskink okay. Merci. – RVG

0
paint.setStyle(Style.FILL); 

Bonne chance.

Questions connexes