Java 未调用onDraw方法?
我正在创建一个自定义视图,但从未调用onDraw方法。我尝试过这样做-Java 未调用onDraw方法?,java,android,layout,view,ondraw,Java,Android,Layout,View,Ondraw,我正在创建一个自定义视图,但从未调用onDraw方法。我尝试过这样做-setWillNotDraw(false),但仍然不起作用 事实上,调用invalidate()后,它甚至都不起作用。这是我的密码- public class Box extends View { public Box (Context context) { super (context); init(); } private void init() { // I
setWillNotDraw(false)
,但仍然不起作用
事实上,调用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);
请在MainActivity.java中提供帮助 使用
您如何将您的
框添加到活动的视图层次结构中?在屏幕上显示之前,它不会绘制。添加此项。setWillNotDraw(false);在构造函数中,对于视图的子类,将忽略SetwillNotDraw。它适用于ViewGroup的子类。你们可能并没有把盒子添加到任何view@MikeM. 是的,这就是问题所在:(我现在觉得自己很愚蠢。谢谢大家的回复。这就是我不喜欢Android文档的原因。
setContentView(box);