(3) drawRect函数需要提供四个坐标,其中,前两个参数代表是被绘制矩形的起始点坐标,后两个参数则是相对于起点的斜对角坐标,注意,原点坐标(0,0)在屏幕的左上角。
(4) 注意,onDraw()每次被调用的时候,原来画布中的内容会被清空。
(5) 本示例中,矩形高度每次增加Height/TOTAL_PAINT_TIMES,宽度不变。
4. Activity中测试该View
public class MainActivity extends Activity {
private AnimatorView mAnimatorView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mAnimatorView = new AnimatorView(this);
setContentView(mAnimatorView);
}
}
当然,也可以把该View放到layout文件中,这里就不赘述了。
5. 小结
自定义带动画的View就介绍到这里了,关键在于掌握onDraw()的重写和invalidate()的调用,完整的代码见文章最后的附件,有任何疑问欢迎留言或者来信lujun.hust@gmail.com交流。
相关附件下载地址:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2014年资料/12月/4日/Android开发实践:自定义带动画的View
------------------------------------------分割线------------------------------------------
最简单的Ubuntu Touch & Android 双系统安装方式
在Nexus上实现Ubuntu和Android 4.4.2 双启动
Ubuntu 14.04 配置 Android SDK 开发环境
64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细)