【发布时间】:2012-09-04 10:20:55
【问题描述】:
我像这样创建了一个自定义视图 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 将包含的不仅仅是画一个圆。我需要将其设为自定义视图。
【问题讨论】:
标签: android android-canvas android-custom-view