0

CanvasとBitmapsを使用してアクティビティを描画しようとしていますが、次のようなものが得られません。

  1. onDraw関数はいつ呼び出されますか。
  2. 変更を加えた後、onDraw関数を再度呼び出すにはどうすればよいですか。(this.invalidateトリックを行わないようです)。
  3. キャンバスに何かを描画して変更を加え、後で更新する方法。

誰かがこれらを説明できますか?(サンプルコードは追加のプラスになります)。ありがとう :)

4

1 に答える 1

1
  1. onDraw()は、ビューを含むレイアウトを拡張した後、システムによって最初に呼び出されます。たとえば、onCreate()でContentView()を設定した場合、描画を行うにはUIスレッドをアイドル状態にする必要があるため、少なくともonCreate()が戻るまでは描画されません。

  2. invalidate()はこれを行う方法です。onDraw内から呼び出さないでください。呼び出さないと、無限ループに陥ります。

  3. 繰り返しますが、再描画が必要な場合は常にinvalidate()を使用してください。それがその目的です。

于 2013-02-28T09:58:21.527 に答える