您的位置:首页 > 其它

View中的draw和onDraw有什么区别

2012-03-03 22:31 423 查看
我们在自定义view的时候只需要重写onDraw(),而没必要去重写draw(),因为onDraw()是draw()方法的一部分。

大概扫一下源码就可以明白,draw()这个函数本身会做很多事情,

* 1. Draw the background

* 2. If necessary, save the canvas' layers to prepare for fading

* 3. Draw view's content

* 4. Draw children

* 5. If necessary, draw the fading edges and restore layers

* 6. Draw decorations (scrollbars for instance)

在第三步的时候,它就会调用onDraw()方法,来绘制view的内容。也就是draw会调用onDraw。

所以看需要,一般情况下,直接用onDraw绘制view的content就可以了,如果绘制多一点的内容,可以调用draw(),不过Android官方推荐用只用onDraw就可以了。“When implementing a view, do not override this method; instead, you should implement onDraw”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: