Android动画的几种实现方式总结

1、AnimatorSet

AnimatorSet set = new AnimatorSet();
set.playTogether(
        ObjectAnimator.ofFloat( imageViewOne, "scaleX" , 1, 1.3f, 1 ),
        ObjectAnimator. ofFloat(imageViewOne, "scaleY", 1 , 1.3f, 1),
        ObjectAnimator. ofFloat(imageViewTwo, "translationX", 0 , 60, 30),
        ObjectAnimator. ofFloat(imageViewTwo, "translationY", 0 , 60, 30),
        ObjectAnimator. ofFloat(imageViewThree, "alpha", 0 , 1) ,
        ObjectAnimator. ofFloat(imageViewFour, "rotation", 0 , 180)
);
//减速器
 set.setInterpolator(new AccelerateDecelerateInterpolator()) ;
//加速器
set.setInterpolator(new AccelerateInterpolator()) ;
//延迟
set.setStartDelay(1000) ;
//监听器
set.addListener( this);
set.setDuration(6000).start() ;

或者:

<set xmlns:android="http://schemas.android.com/apk/res/android">
//改变透明度:
<alpha
        android:duration="3000"
        android:fromAlpha="0"
        android:repeatCount="3"
        android:repeatMode="restart"
        android:toAlpha="1" >
    </alpha>
//旋转:
    <rotate
        android:duration="3000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="-360" >
    </rotate>
//缩放:
    <scale
        android:duration="3000"
        android:fromXScale="0"
        android:fromYScale="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="2"
        android:toYScale="2" >
    </scale>
//平移:
    <translate
        android:duration="1000"
        android:fillAfter="true"
        android:fromXDelta="0"
        android:toXDelta="-300" >
</translate>
</set>
//Java代码:
Animation animation=
            AnimationUtils.loadAnimation(context,相应的xml文件);
imageVie.startAnimation(animation);

2、ViewCompat

  ViewCompat.animate(view)
                    .scaleX(0.f)
                    .scaleY(0.f)
                    .rotationBy(360)
                    .translationX(60f)
                    .translationY(60f)
                    .setStartDelay(500)
                    .setDuration(1000)
                    .withEndAction(new Runnable() {
                        @Override
                        public void run() {

                        }
                    });

3、AnimationDrawable

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    >

    <item android:drawable="@drawable/icon_1"
          android:duration="80"/>

    <item android:drawable="@drawable/icon_2"
          android:duration="80"/>

    ...

    <item android:drawable="@drawable/icon_8"
          android:duration="80"/>

</animation-list>

    <ImageView
        android:id="@+id/img_anim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/animation_list_refresh"
        />
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值