【发布时间】:2012-04-09 02:42:10
【问题描述】:
我不太清楚这一点,文档也不是。
当我创建自定义视图时,我会这样覆盖:
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
//more code here...
}
我的问题是是否有必要致电super.onDraw(canvas);。没有它,代码似乎也能正常工作,但我想确保可以不使用它。
那么有必要吗?
【问题讨论】:
-
不知道是否需要,但原则上这是个好习惯。
-
如果你想让超类实现的代码也被执行,你只需要调用
super.onDraw()。如果您不依赖自定义View的超类所做的绘图(例如,所有必需的绘图都在本地覆盖的方法中完成),那么您不需要调用它,除非文档另有明确说明。
标签: android android-custom-view