-1
我正在创建一个自定义视图,但onDraw方法永远不会被调用。我试过这样做 - setWillNotDraw(false)
但它仍然无法正常工作。未调用onDraw方法?
实际上,在拨打invalidate()
之后它甚至不工作。这里是我的代码 -
public class Box extends View {
public Box (Context context) {
super (context);
init();
}
private void init() { // Initialize paint object
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(mBoxColor);
setMeasuredDimension(200, 200);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(100, 100, 200, 200, paint);
}
}
我的活动码 -
Box box = new Box(this);
请帮
你是如何加入你的' Box'到'Activity'的'View'分层结构?在屏幕上显示之前不会画出。 –
添加this.setWillNotDraw(false);在构造函数 –
中,View的子类会忽略setWillNotDraw。它适用于ViewGroup的子类。您可能未将框添加到任何视图 – Blackbelt