LotusLoveNature

日常工作,生活小记

一种基于drawable的动画

如果某些动画只想做在一个view上,因为这样可以使效率更高,动画也更容易控制。那么我们可以定义一个ImageView,然后设置给它一个drawable。

关键是这个drawable,这个drawable是自定义的,继承自drawable,重写ondraw方法。绘制图片或者rect。如果需要动画,肯定要自己触发invalidate。

public void startAnimation(){

mCallback.invalidateDrawable();

}

public void draw(Canvas canvas) {

 mCallback.invalidateDrawable();

}

同时,还需要自定义一个animation,传入from和to值,根据一定算法获取current值,在draw方法中调用。这样就可以实现动画啦

评论
©LotusLoveNature | Powered by LOFTER