使用dispatchDraw(Canvas canvas)

问题描述 投票:16回答:2

ViewGroup类中dispatchDraw(Canvas canvas)方法的用途是什么?

android viewgroup
2个回答
20
投票

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

[通过绘制来绘制子视图。可能在派生类被子类绘制之前(但在绘制其自己的视图之后)被派生类覆盖以获取控制权。


1
投票

例如,protected void dispatchDraw (Canvas canvas)是线性,相对,框架布局,绝对布局的父代。 1

由于ViewGroup类是抽象的,因此无法直接创建实例。您可以从中使用1,并使用以下功能:

ViewGroup

由于未知原因,第1类无法使用

dispatchDraw(Canvas canvas) 

绘图用

onDraw(Canvas canvas) 

在本类1中,可能,创建UI很有趣。

它看起来像这样:

//////

dispatchDraw(Canvas canvas) 

...///

或您跳回以绘制

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) “视图”中扩展,或在这样的extern类中引用它:

MainActivity
© www.soinside.com 2019 - 2024. All rights reserved.