21

ViewGroup 类中dispatchDraw(Canvas canvas)方法有什么用??

4

2 回答 2

22

从 Android 文档 - protected void dispatchDraw (Canvas canvas)

由 draw 调用以绘制子视图。这可能会被派生类覆盖以在绘制其子级之前(但在绘制其自己的视图之后)获得控制权。

于 2012-08-13T05:26:19.380 回答
0

比如ViewGroup是Linear-、Relative-、FrameLayout-、AbsoluteLayout的Parent。1

因为 ViewGroup 类是抽象的,直接创建一个 Instance 是不可能的。
您可以使用 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 或在外部类中引用它,如下所示:

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