21

ViewGroupクラスでのdispatchDraw(Canvasキャンバス)メソッドの使用は何ですか?

4

2 に答える 2

22

Androidのドキュメントから - protected void dispatchDraw (Canvas canvas)

子ビューを描画するために draw によって呼び出されます。これは、子が描画される直前 (ただし、独自のビューが描画された後) に制御を取得するために、派生クラスによってオーバーライドされる場合があります。

于 2012-08-13T05:26:19.380 に答える
0

たとえば、ViewGroupLinear、Relative、FrameLayout、AbsoluteLayout の親です。1

ViewGroup クラスは抽象的であるため、インスタンスを直接作成することはできません。
関数で、これから 1 を使用できます。

dispatchDraw(Canvas canvas) 

理由は不明ですが、クラス 1 は描画しません

onDraw(Canvas canvas) 

で描く

dispatchDraw(Canvas canvas) 

このClasses 1にあり、可能であり、UIを作成するのは楽しいです.

次のようになります。

/////

public class MainActi extends MyLinearLayout. 
public MainActi(Context con...
super(cont...)
MyLinearLayout extends LinearLayout 

@Override protected void dispatchDraw(Canvas canvas) {
canvas.drawColor(Color.YELLOW);

... ///

または、スキップバックして描画します

onDraw(Canvas canvas) 

「ビュー」で拡張するMainActivity か、次のような extern クラスで参照します。

MyMelIsDrawing extends View 
   onDraw(Canvas canvas) 
       //now draw...
于 2015-03-23T17:19:28.047 に答える