Android学习--Animotions动画(一)

  1. Animations基本概念:

Animations提供了一系列的动画效果,这些效果可以应用在绝大多数的控件;

  1. Animations的分类:

    1. TweeenedAnimations

该类Animations提供了旋转、移动、伸展和淡出等等效果;

    1. Frame-by-FrameAnimations

该类Animations可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示;

  1. TweenedAnimations的第一中方法:

    1. 创建一个AnimationsSet对象

    2. 根据需要创建相应的Animation对象;

    3. 根据软件动画需求,为Animation对象设置相应的数据;

    4. Animation对象添加到AnimationSet对象当中;

    5. 使用控件对象开始执行AnimationSet


创建一个简单的rotate(旋转动画)动画效果代码(其他类型的动画效果其实也是跟这一样的过程,只是创建Animation时使用的是不一样的Animation而已):

AnimationSetanimationSet = new AnimationSet(true);

RotateAnimationrotateAnimation = new RotateAnimatin(0,360,

Animation.RELATIVE_TO_PARENT,//表示这个动画效果的x轴方向是相//对其父控件

1f,//表示轴心的x坐标跟整个父控件的最大x坐标一样大(1*100%

Animation.RELATIVE_TO_PARENT,

0f,);//表示轴心的y坐标占父控件的最大y坐标的(0*100%

       rotateAnimation.setDuration(1000);//设置动画持续时间

       animationSet.addAnimation(rotateAnimation);

       imageView.startAnimation(animationSet);


       注:RELATIVE_TO_PARENT表示这个动画效果是相对其父控件

              RELATIVE_TO_SELF表示这个动画效果是相对自身

  1. TweenAnimations的通用属性

    1. setDuration(longdurationMills)

设置动画持续时间(单位:毫秒);

    1. setFillAfter(booleanfillAfter);

如果fillAfter的值为true;则动画执行后,控件将停留在执行结束的状态;

    1. setFillBefore(booleanfillBefore);

如果fillBefore的值为true;则动画执行后,控件将回到动画执行前的状态;

    1. setStartOffSet(longstartOffSet);

设置动画执行之前的等待时间;

    1. setRepeatCount(intrepeatCount);

设置动画重复执行的次数

注:如果这些函数是用AnimationSet的对象调用的,则表示这个AnimationSet集合里的所有Animation对象都是这样一个效果;如果只是用Animation的对象调用,则只对该Animation对象生效;

5.Animation的第二种使用方法:

(1)在res文件夹下面新建一个名为anim的文件夹

(2)创建xml文件,并首先加入set标签
  <set xmlns:android="
http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/accelerate_interpolator">
  </set>

(3)在该标签当中加入rotate,alpha,scale,translate标签
  <alpha
   android:formAlpha="0.1"
   android:toAlpha="1.0"
   android:duration="1000" />

(4)在代码当中使用AnimationUtils装载xml文件,并生成Animation对象
  Animation ani = AnimationUtils.loadAnimation(AniActivity.this,R.anim.alpha);
  imgAni.startAnimation(ani);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值