-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