Canvas and Drawables

来源:互联网 发布:淘宝网商品销售方式 编辑:程序博客网 时间:2024/05/17 06:30
ndroid框架API提供了一系列的API来允许你在画布上渲染你自定义的图形,或者修改已经存在的View来定制化他们的界面外观。当你绘制2D图形,一般你可以使用下面两种中的一种:
a、把你的图像或动画绘制到一个布局中的View对象。这样,你的图像将会由系统正常的绘图机制进行绘制,你只需要简单的定义View对象里面的图像。
b、把你的图像直接绘制到一个Canvas对象上,这样的话,你需要自己调用合适的类的onDraw方法(传递你的Canvas),或者调用Canvas的draw..()方法。同样,所有的动画也是由你控制。
绘制View,当你只是想绘制一些简单的不需要改变的图像或者不是性能敏感的游戏,选择a方式是你的最佳选择;例如,当你想显示一个静态的图片或者一个预先定义的动画,包括一个静态的程序,你应该把你的图像绘制到一个View内。查看Drawable来获取更多的
信息。
选择b,把图像绘制到Canvas,将会是一个更好的选择当你的应用需要定期的重绘自己,或者在一些视频游戏中,他们需要绘制到Canvas来以他们自己的方式绘制。但是,这里有不止一种方法来实现:
1、和你的UI Activity同一个线程,你在布局中创建一个自定义的View组件,调用invalidate()然后在onDraw回调中处理他们。
2、在另外一个线程,你管理一个SurfaceView并且尽可能以线程最快的速度把他绘制到Canvas(你需要调用invalidate())
0 0
原创粉丝点击