I created a Custom View CircleView like this:

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);  
    }
}

Then I included it on my Activity's layout root <RelativeLayout>:

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

However, nothing was drawn!

  • Am I implementing the Custom View right?
  • Or is it how I used the Custom View?

Some Info:

  • Both CircleView and MyActivity are in the same package: com.turkidroid.test.
  • In onDraw() method, I tried including super.onDraw() and commenting it.
  • I know I can draw a circle with much simpler approaches but my CircleView will contain more than drawing a circle. I need to make it a Custom View.
Edit
Report