欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

帧动画+补间动画

程序员文章站 2022-03-25 14:56:07
...

帧动画+补间动画

帧动画得在drawable下创建一个xml文件
在aniation-list下添加item 两个属性 一个drawable放图片 duration是图片显示的时间

补间动画
分为透明 旋转 平移 缩放 还可以把他们组合起来

旋转

	<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fillBefore="true"
    android:fromAlpha="1.0"
    android:toAlpha="0.0">
</alpha>

     Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
        imageView.startAnimation(animation);

平移

	<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:toXDelta="200"
    android:toYDelta="300"
    android:duration="3000"
    android:fillBefore="true">

</translate>
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
        imageView.startAnimation(animation);

旋转

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="720"
    android:pivotX="200"
    android:pivotY="200"
    android:duration="3000"
    android:fillBefore="true">
Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate );
        imageView.startAnimation(animation);

缩放

 ScaleAnimation scaleAnimation = new ScaleAnimation(1, 2, 1, 4, ScaleAnimation.ABSOLUTE, 100, ScaleAnimation.ABSOLUTE, 100);
        scaleAnimation.setFillBefore(true);
        scaleAnimation.setDuration(3000);
//        scaleAnimation.setRepeatMode(ScaleAnimation.REVERSE);
//        scaleAnimation.setInterpolator(new BounceInterpolator());

        imageView.startAnimation(scaleAnimation);