Android动画基本使用

9 篇文章 0 订阅
8 篇文章 0 订阅

一、Frame Animation 帧动画
1、在res/drawable/目录下新建xx.xml文件,root element为<animation-list>,引入需要播放的帧图片:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="a1.jpg" android:duration="200"/>
    <item android:drawable="a2.jpg" android:duration="200"/>
</animation-list>

2、在code中为View设置背景view.setBackgroundResource(R.drawable.xx);
3、获取AnimationDrawable对象anim:view.getBackground();
4、播放动画:anim.start();

  ImageView gameView = (ImageView) findViewById(R.id.game);
  gameView.setBackgroundResource(R.drawable.weather_background);
  AnimationDrawable animationDrawable = (AnimationDrawable) gameView.getBackground();
  animationDrawable.start();

二、Tween Animation 补间动画
1、在res/anim/目录下新建xx.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@[package:]anim/interpolator_resource"
    android:shareInterpolator=["true" | "false"] >
    <alpha
        android:fromAlpha="float"
        android:toAlpha="float" />
    <scale
        android:fromXScale="float"
        android:toXScale="float"
        android:fromYScale="float"
        android:toYScale="float"
        android:pivotX="float"
        android:pivotY="float" />
</set>

 2、在code中获取Animation对象;

    Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);

 3、为object设置动画;

 ImageView image = (ImageView) findViewById(R.id.image); 
image.startAnimation(hyperspaceJump);

三、属性动画

   1、在res/animator/目录下新建xx.xml文件:

<set android:ordering=["together" | "sequentially"]>
    <objectAnimator
        android:propertyName="string"
        android:duration="int"
        android:valueFrom="float | int | color"
        android:valueTo="float | int | color"
        android:startOffset="int"
        android:repeatCount="int"
        android:repeatMode=["repeat" | "reverse"]
        android:valueType=["intType" | "floatType"]/>


    <animator
        android:duration="int"
        android:valueFrom="float | int | color"
        android:valueTo="float | int | color"
        android:startOffset="int"
        android:repeatCount="int"
        android:repeatMode=["repeat" | "reverse"]
        android:valueType=["intType" | "floatType"]/>
</set>

2、在code中获取AnimatorSet:

AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
    R.anim.property_animator);

3、为object设置动画;

set.setTarget(myObject);
set.start();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值