【发布时间】:2014-05-03 06:01:54
【问题描述】:
我想在布局中使用一些自定义视图,如图所示。
红色矩形,它只是视图的边框。里面可能有不同的东西。
为此我创建了自定义视图:
公共类 CustomView 扩展视图 {
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.FILL);
canvas.drawCircle(5, 5, 5, paint);
canvas.save();
}
}
然后在 onCreate() 方法的某个地方,我向布局添加了一些视图:
layout.addView(new CustomView(this));
layout.addView(new CustomView(this));
结果圆形被绘制在布局的左上角(图片上的黑色矩形)。
我认为 onDraw() 方法包含单独视图的画布。
如何在单独的视图范围内而不是在所有布局范围内绘制一些东西?
【问题讨论】: