Android常用动画的回顾


【Android当中的常用动画】
1.Frame 帧动画
   将每一张静止的图片依次的显示出来,利用人眼暂时停留的错觉,得出的动画。
   在drawable文件中中创建xml文件
   标签是<animation-list />


 使用步骤:
   1.在drawable文件夹下创建帧动画的资源文件,<animation-list />
   2.在代码或者在布局当中设置imageview的背景或者src资源为自定义的帧动画资源文件。
   3.获取AnimationDrawable的帧动画管理器,然后可以调用其start或者是stop方法开启关闭动画。
 添加oneshot属性
     true:表示指定的资源图片只切换一次
false:表示指定的item图片无限切换。




2.Tween 补间动画
   补充中间的动画
   开发者只需要指定动画开始和结束的关键帧,而进行中的中间帧是由系统来计算并且补齐的。
   
   补间动画分为四种:
      1.透明度动画   : alpha
 2.大小缩放动画 : scale
 3.位移变化动画 : translate
 4.旋转动画     : rotate
      5.综合动画     :把前几种动画综合起来。set
补间动画的资源存放与res/anim目录之下
 四种变化方式都有对应的标签
 <alpha .../>
    定义的属性:
android:fromAlpha="1"
android:toAlpha="0.05"
以上两个属性 取值范围 0-1 之间
0:表示完全透明
1:表示不透明


 <scale .../>
定义的属性:
确定开始和结束的尺寸
android:fromXScale="1"
android:toXScale="0.1"
android:fromYScale="1"
android:toYScale="0.1"


确定放大缩小的中心点
android:pivotX="50%"
android:pivotY="50%"


 <translate .../>
         定义的属性:
确定开始和结束的位置
android:fromXDelta="0"
android:toXDelta="200"
android:fromYDelta="0"
android:toYDelta="200"


确定运动持续的时间
android:duration="5000"
插值器  :可以改变动画执行中间的效率,控制动画的速度
android:interpolator
accelerate_interpolator  加速
decelerate_interpolator  减速
accelerate_decelerate_interpolator   先加速后减速
linear_interpolator  匀速
表示重复的次数
android:repeatCount
表示重复的模式
android:repeatMode
是否保留动画结束时的状态
android:fillAfter




 <rotate .../>
定义的属性:
旋转的起始角度和最终角度
android:fromDegrees="0"
android:toDegrees="360"
旋转的中心点
android:pivotX=""
android:pivotY=""
放入三种值:
1.绝对的数值:传入绝对值,表示执行该view的某一个点作为中心点 (50,50)
2.百分比 :表示以该view的宽高的百分比作为中心点  (50% ,50%)
3.百分比p :表示执行该动画的view的外层布局的位置  (50%p  50%p)

 <set .../>
     可以对以上四种动画任意组合。


//代码中加载资源动画:
    Animation anim = AnimationUtils.loadAnimation(this,R.anim.anim_xxx);
//开启动画
xxx.startAnimation(anim);

3.Property 属性动画    android3.0之后引入的动画


属性动画的特点:
1.Animator框架之下的,常用的类包括AnimatorSet和ObjectAnimator
2.补间动画只能够定义控件的四个方面,而属性动画可以定义任何属性。
3.补间动画只能够让ui控件执行动画,而属性动画可以让任何对象执行动画。


属性动画可以定义以下属性:
1.动画持续时间
2.动画的插值方式
3.动画重复的次数
4.动画重复的行为
5.动画的集合
......


属性动画在xml文件当中定义的步骤。
1.在res/animator文件夹当中定义属性动画的资源文件,如果是单独的属性可以定义标签为<objectAnimator.../>
   如果是多个属性就要放入到<set.../>标签当中。
      在<objectAnimator.../>标签中可以定义的属性:
 android:propertyName="textColor"    //属性名
 android:duration="5000"  //动画持续时间
      android:valueType="intType"  //动画的输入类型
      android:valueFrom="#ff0000"  //动画的起始值
      android:valueTo="#0000ff"  //动画的最终值
 在set标签当中可以判断是同时执行,还是顺序执行
 android:ordering=""
sequentially   :按顺序执行
together       : 同时执行


2. 在activity当中把xml文件转化为属性动画,然后开启动画
    //获得属性动画的对象
        ObjectAnimator backgroundAnimator = (ObjectAnimator) AnimatorInflater.loadAnimator(this,R.animator.anim_bgcolor);
    //给指定的ui控件设置动画
        backgroundAnimator.setTarget(mTv);
    //开启动画
        backgroundAnimator.start();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值