尝试确定为什么总是不会调用onDraw。 我在自定义视图类的onTouch事件中有以下代码。
public boolean onTouch(View view, MotionEvent event) {
<<do something>><
switch (eventType) {
case MotionEvent.ACTION_DOWN:
<<do something>>
case MotionEvent.ACTION_MOVE:
<<do something>>
Log.d(TAG, "calling invalidate");
invalidate();
break;
}
}
日志显示以下语句“调用invalidate”,但在此日志语句之后并不总是调用ondraw。这几乎就像批量无效并每X次调用一次onDraw一样。
提前致谢
答案 0 :(得分:0)
是的,这是invalidate()
的作用;它将View
的当前状态标记为已过期,并计划调用draw()
以在下一个绘图迭代中运行,该迭代将在主要计划的当前事件之后的某个时刻运行线程(例如处理用户交互)已完成。