AndroidViewクラスには というメソッドがonDrawあり、onDraw にはキャンバスが渡されます。ユーザーだけが渡されたキャンバスを明示的に作成することはなく、それにアクセスする他の手段がないように見えます。
に渡されるキャンバスとは何ですか?キャンバスはonDrawどこで作成され、アクセスする方法はありますか?
ご協力ありがとうございました。
AndroidViewクラスには というメソッドがonDrawあり、onDraw にはキャンバスが渡されます。ユーザーだけが渡されたキャンバスを明示的に作成することはなく、それにアクセスする他の手段がないように見えます。
に渡されるキャンバスとは何ですか?キャンバスはonDrawどこで作成され、アクセスする方法はありますか?
ご協力ありがとうございました。
ViewRootImplビュー階層の最上位クラスでCanvasある. 次に、それぞれが this の連結されたサブセット バージョンを各 childのメソッドに渡します。ViewGroupActivityViewGroupCanvasViewdraw()
私の知る限り、 (および関連するメソッド)のCanvas外側を操作することはできません。onDraw()
draw()自分が制御する の新しいインスタンスで自分自身を呼び出してみCanvasてください。それは画面に何も描画しませんがCanvas、クラスの他の場所を読んだり、ビットマップに変換したりできます。例については、この回答を参照してください: Android でビューをビットマップに変換する