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”
大概扫一下源码就可以明白,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”
相关文章推荐
- View中的draw和onDraw有什么区别
- View中的draw和onDraw的区别
- View中的draw和onDraw的区别
- View中的draw和onDraw的区别
- View中的draw和onDraw,dispatchDraw的区别
- View中的draw和onDraw,dispatchDraw的区别
- View中的draw和onDraw的区别
- View中draw和onDraw()方法的区别
- OnDraw与OnPaint有什么区别?(转)
- Android开发中的View类的视图属性focusableInTouchMode这个属性跟focusable有什么区别?
- 2010.7.27 OnDraw与OnPaint有什么区别
- Android 开发中遇到View类的视图属性focusableInTouchMode及与focusable有什么区别?
- View的测量宽高和最终宽高有什么区别?
- ASP.NET的Application、Session、Cookie、ViewState和Cache等变量的区别是什么?
- android canvas onDraw和Draw的bitmap区别
- 使用APPlication,Session,Cookie和ViewState等对象保存信息的区别是什么?
- set_dft_signal -view的参数existing_dft和spec有什么区别
- Android开发中的View类的视图属性focusableInTouchMode这个属性跟focusable有什么区别?
- android自定义控件继承View,其中父类的三个构造方法有什么区别?
- js架构设计模式——MVVM模式下,ViewModel和View,Model有什么区别