AndroidView
类有一个名为 的方法onDraw
,并且 onDraw 获得了一个画布。只有用户从不明确创建通过的画布,并且似乎没有其他方法可以访问它。
传递给的画布是什么onDraw
,它是在哪里创建的,有没有办法访问它?
谢谢您的帮助。
AndroidView
类有一个名为 的方法onDraw
,并且 onDraw 获得了一个画布。只有用户从不明确创建通过的画布,并且似乎没有其他方法可以访问它。
传递给的画布是什么onDraw
,它是在哪里创建的,有没有办法访问它?
谢谢您的帮助。
ViewRootImpl
,视图层次结构中最顶层的类,请求整个可见窗口的 a ,并将其传递给您Canvas
的顶层. 然后,每个将 this 的连接子集版本传递给每个 child的方法。ViewGroup
Activity
ViewGroup
Canvas
View
draw()
据我所知,不可能操纵Canvas
外部onDraw()
(和相关方法)。
您可以尝试使用您控制draw()
的新实例来调用自己。Canvas
这不会在屏幕上绘制任何内容,但您将能够阅读Canvas
课堂上的其他内容,将其转换为位图等。请参阅此答案以获取示例:在 Android 上将视图转换为位图
一个视图隐式地有一个与之关联的画布。当从特定视图中调用 invalidate() 时,或者对于特定视图(即视图 v,然后您调用 v.invalidate()),与该视图关联的画布被发送到视图的 onDraw 方法。
当一个视图包含其他视图时,从发出无效调用的视图开始遍历和重绘分层视图树。