我想制作一个自定义视图,因此我扩展了View类并覆盖了onDraw(Canvas canvas)
方法。
问题是,我发现该方法永远不会被调用。
似乎在另一个视图上调用View.invalidate
会导致此视图重绘为。
我无法在此处发布代码,因此我尝试仅描述相关部分。
在活动中我创建了一个FrameLayout m_mainLayout
,这是我最终传递给setContentView()
方法的那个。
我向m_mainLayout添加了不同的视图和布局,其中一个是GameView m_gameView
,其扩展为View
,另一个GameFrameView
扩展为RelativeLayout
,我添加了视图问题。
现在,我经常打电话(每100毫秒)m_gameView.invalidate()
。
如何重新绘制其他视图?
我需要做些什么来阻止这种情况?
答案 0 :(得分:0)
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas); <-- add this
int width = canvas.getWidth();
int height = canvas.getHeight();
Log.i("AttackDialogView", "onDraw ");
}