我像这样创建了一个自定义视图 CircleView:
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);
}
}
然后我将它包含在我的 Activity 的布局根目录中<RelativeLayout>
:
<com.turkidroid.test.CircleView
android:id="@+id/circle_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true" />
然而,什么都没画!
- 我是否正在实施自定义视图?
- 或者是我如何使用自定义视图?
一些信息:
- CircleView 和 MyActivity 都在同一个包中:
com.turkidroid.test
. - 在
onDraw()
方法上,我尝试包含super.onDraw()
并评论它。 - 我知道我可以用更简单的方法画一个圆圈,但我的 CircleView将包含的不仅仅是画一个圆圈。我需要将其设为自定义视图。