首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android-Animation 总结(一)

鉴于今天是劳动节,鼓励自己整理一下android相关的知识,祝所有劳动者节日快乐。

android 的动画要从3.0为分界线,3.0之前是传统动画,3.0之后出现了属性动画。

传统动画又分为 帧动画(Frame Animation) 和  补间动画(Tween Animation)

补间动画细分为:位移(translate)    缩放 (scale)   渐变(alph)    旋转(rotate)

那我们就从传统动画的Frame Animation 说起吧:

Android-Animation  帧动画

   frame 在英文中的意思有:电影画面,之前的电影播放是通过一帧一帧的胶片记录影像来播放的。所以我们的帧动画也是通过实现准备好的一张张ui图片按顺序进行展示的。

第一步:在res的drawalbe文件夹新建文件,如图:

注释自己看哦!

第二步: 将xml文件用和AnimationDrawable关联。(我们是xml实现也可以代码实现,demo中有此处省略。。。。)

AnimationDrawable mAnimationDrawable =(AnimationDrawable) getResources().getDrawable(

R.drawable.anim_frame);

   //将动画指定到现实的ImageView上。这个Imageview是你自己在Activity中的,你自己指定显示的位置,大小吧。

比如:

然后初始化Imageview 在.setBackground(animationDrawable);即可。

完毕!

Android-Animation  补间动画

首先补间动画有四种:translate  位移

   scale     缩放

   alpha  渐变

  rotate  旋转

话不多说上代码: 对了,我这是xml实现方式,代码实现和它大致一样,set属性就行。

位移动画:

绑定:

//如果代码中定义的话为new translateAnimation=new AlphaAnimation(0.1f, 1.0f);set等属性,其他三种动画都类似

Animation translateAnimation = AnimationUtils.loadAnimation(TweenAnimationActivity.this, R.anim.translate);

iv_translate.startAnimation(translateAnimation);

其他三种也都一样,直接了。

渐变动画

缩放动画

旋转动画

对了,还可以组合使用:

绑定方式都一样:

说一下属性pivotX和pivotX,大家可能有些不太理解,这样说吧,pivoX="50%" 和 pixoY="50%"与pivoX="0%" 和 pixoY="0%"的区别相对于rotate的区别是一个以图片的中心点为圆心旋转,一个以图片的左上角为圆心旋转。

完毕!

demo已上传github,地址:

https://github.com/searchdingding/AnimationDemo

剩下的下次讲。

下一篇
举报
领券