为了更好的用户体验,需要学习更好的交互方式。
平时动画用得挺少的,书都用时方恨少啊,所以还是复习巩固一下吧。
动画分类
android的动画分为帧动画,补间动画,属性动画。
帧动画(Frame Animation)
主要就是利用一堆图片逐帧播放。
补间动画(Tween Animation)
常用的有 AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation 这4个动画 其中AnimationSet的作用可以组合这几种动画,是有顺序的播放,还是可以同时播放这都可以由AnimationSet来管理设置。
属性动画(Property Animation)
默认情况下,插值器使用的是AccelerateDecelerateInterpolator,是一个加速进入.减速退出的一个动画过程,当然也可以自己通过使用setInterpolator(TimeInterpolator) 设置自己的插值器。 主要作用是通过设置获取设置的属性值,然后处理对应的动画。
官网例子,下面解释标错了,之前没注意 看错了,不是TextView的值从0-100显示,应该是移动x的距离,移动范围是x轴从0-100
继承自ValueAnimator
这是一个接口,可以实现自己的TypeEvaluator,在可以通过下图中标记的参数,返回任意你想返回的数据,比如ValueAnimation的OfFloat方法就是传入float参数,然后getAnimationValue的时候获得的就是float类型的一个对象,可以通过实现自己的TypeEvaluator然后返回自己想要的对象。
关于如何使用 详见 Using a TypeEvaluator (我也还没用过,不过后面回去学习,然后记录下来 ^_^)
总结
总结出来 动画分类可分为 帧动画,属性动画,补间动画
帧动画,图片一张一张播放
补间动画,常用的有四种,可以用AnimationSet组合几种不同的动画
属性动画,更高级的一种,利用View对象的属性来进行变化。
注意:
补间动画移动以后,原来的点击事件仍然在原来的地方,属性动画如果移动以后,点击事件在动画结束显示的地方这点是有区别的