Android动画-xml

2020-11-05  本文已影响0人  阿杰8955

一、逐帧动画

1、res下新建drawable文件夹

2、new一个文件animation_list_eat.xml

3、<?xml version="1.0" encoding="utf-8"?>

    android:oneshot="false">

        android:drawable="@drawable/eat_00000"

        android:duration="20" />

        android:drawable="@drawable/eat_00001"

        android:duration="20" />

        android:drawable="@drawable/eat_00002"

        android:duration="20" />

        android:drawable="@drawable/eat_00003"

        android:duration="20" />

        android:drawable="@drawable/eat_00004"

        android:duration="20" />

        android:drawable="@drawable/eat_00005"

        android:duration="20" />

        android:drawable="@drawable/eat_00006"

        android:duration="20" />

        android:drawable="@drawable/eat_00007"

        android:duration="20" />

        android:drawable="@drawable/eat_00008"

        android:duration="20" />

        android:drawable="@drawable/eat_00009"

        android:duration="20" />

        android:drawable="@drawable/eat_00010"

        android:duration="20" />

        android:drawable="@drawable/eat_00011"

        android:duration="20" />

        android:drawable="@drawable/eat_00012"

        android:duration="20" />

        android:drawable="@drawable/eat_00013"

        android:duration="20" />

        android:drawable="@drawable/eat_00014"

        android:duration="20" />

        android:drawable="@drawable/eat_00015"

        android:duration="20" />

        android:drawable="@drawable/eat_00016"

        android:duration="20" />

        android:drawable="@drawable/eat_00017"

        android:duration="20" />

        android:drawable="@drawable/eat_00018"

        android:duration="20" />

        android:drawable="@drawable/eat_00019"

        android:duration="20" />

        android:drawable="@drawable/eat_00020"

        android:duration="20" />

        android:drawable="@drawable/eat_00021"

        android:duration="20" />

        android:drawable="@drawable/eat_00022"

        android:duration="20" />

        android:drawable="@drawable/eat_00023"

        android:duration="20" />

        android:drawable="@drawable/eat_00024"

        android:duration="20" />

        android:drawable="@drawable/eat_00025"

        android:duration="20" />

        android:drawable="@drawable/eat_00026"

        android:duration="20" />

        android:drawable="@drawable/eat_00027"

        android:duration="20" />

        android:drawable="@drawable/eat_00028"

        android:duration="20" />

        android:drawable="@drawable/eat_00029"

        android:duration="20" />

android:oneshot="false"  true、false是否执行一次

4、布局文件

    android:id="@+id/imageView"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content" />

5、java文件

private AnimationDrawableanimationDrawable;

private ImageViewimageView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageView= findViewById(R.id.imageView);

imageView.setBackgroundResource(R.drawable.animation_list_eat);

animationDrawable = (AnimationDrawable)imageView.getBackground();

animationDrawable.start();

}

二、补间动画

res下新建anim文件夹

xml文件里只有sacle(缩放效果)、rotate(旋转效果)、translate(移动效果)、alpha(淡入淡出效果)、set五个标签

在代码中使用AnimationUtils.loadAnimation()方法加载动画

使用View.setAnimation(Animation)为View控件加载动画,使用View.startAnimation()开启动画

通用属性:

        a.android:duration:设置动画持续时间

        b.android:fillAfter:如果fillAfter为true,则动画执行后,控件将停留在动画结束的状态

        c.android:fillBefore:如果fillBefore为true,则动画执行后,控件将回到动画开始的状态

        d.android:startOffset(long startOffset):设置动画执行前等待的时间(单位:毫秒)

        e.android:interpolator:设置动画的变化速度

<?xml version="1.0" encoding="utf-8"?>

    android:duration="2000"

    android:fillAfter="true">

        android:fromXDelta="0"

        android:toXDelta="500" />

Animation animation = AnimationUtils.loadAnimation(this, R.anim.tanslationy);

btn.startAnimation(animation);

三、属性动画

res下新建animator文件夹

①animator文件夹下存放property animation(属性动画)

②xml文件里有animator、objectAnimator、set三个标签

③在代码中使用AnimatorInflater.loadAnimator()方法加载动画

④使用Animator.setTarget(View)为View控件加载动画,使用Animator.start()开启动画

上一篇下一篇

猜你喜欢

热点阅读