Canvas ne dessine pas dans la vue personnalisée

J'ai créé une Vue Personnalisée CircleView comme ceci:

public class CircleView extends LinearLayout {

    Paint paint1;
    public CircleView(Context context) {
        super(context);
        init();
    }   
    public CircleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
    public void init() {
        paint1 = new Paint();
        paint1.setColor(Color.RED); 
    }       
    protected void onDraw(Canvas canvas) {
        //super.onDraw(canvas);         
        canvas.drawCircle(50, 50, 25, paint1);
        this.draw(canvas);  
    }
}

Puis je l'ai inclus sur mon Activité de mise en page racine <RelativeLayout>:

  <com.turkidroid.test.CircleView
      android:id="@+id/circle_view"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" 
      android:layout_centerInParent="true"  />  

Cependant, rien n'a été tiré!

  • Suis-je mise en œuvre de la Vue Personnalisée droit?
  • Ou est-ce la façon dont j'ai utilisé la Vue Personnalisée?

Quelques Infos:

  • Les deux CircleView et MyActivity sont dans le même package: com.turkidroid.test.
  • Dans onDraw() méthode, j'ai essayé, y compris super.onDraw() et de le commenter.
  • Je sais que je peux dessiner un cercle avec beaucoup d'approches plus simples mais mon CircleView sera contiennent plus que de dessiner un cercle. J'ai besoin de faire un Affichage Personnalisé.

source d'informationauteur iTurki