写在前面
因为在工作中遇到了些问题,在网上简单查询了下没有类似的博客。于是,就决定自己试着写一篇文章来分享一下我是如何利用Canvas来给View绘制动画,希望大家能共同进步。
概念相关
主要利用自定义View和Canvas两个方面知识,简要原理就是通过重写View中的onDraw函数通过对应的Canvas变换来实现自己想要的动画效果。
利用自定义View绘制一个图形
新建一个继承View的AnimView用于绘制
通过重写onDraw函数绘制出一个图形
private BitmapDrawable mDrawable;
private int mViewWidth;
private int mViewHeight;
public AnimView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
mViewWidth = w;
mViewHeight = h;
init();
}
private void init() {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
mDrawable = new BitmapDrawable(bitmap);
mDrawable.setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight());
}