android动画实现
时间: 2024-05-15 18:19:58 浏览: 71
Android动画可以通过代码实现或者通过XML文件实现。
通过代码实现:
1. 创建动画对象:使用Animation类的子类,如TranslateAnimation、RotateAnimation、ScaleAnimation等。
2. 设置动画的属性:使用setDuration()方法设置动画持续时间,使用setRepeatCount()方法设置动画重复次数,使用setFillAfter()方法设置动画结束后是否保持状态等。
3. 将动画应用到控件上:使用startAnimation()方法将动画应用到指定的控件上。
通过XML文件实现:
1. 在res目录下创建anim文件夹。
2. 在anim文件夹中创建XML文件,如translate.xml、rotate.xml、scale.xml等。
3. 在XML文件中定义动画属性,如持续时间、重复次数、动画类型等。
4. 在代码中使用AnimationUtils.loadAnimation()方法加载XML文件中定义的动画,并将其应用到指定的控件上。
例如,以下代码实现了一个平移动画:
```
// 通过代码实现
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200, 0, 0);
translateAnimation.setDuration(1000);
translateAnimation.setRepeatCount(Animation.INFINITE);
translateAnimation.setRepeatMode(Animation.REVERSE);
imageView.startAnimation(translateAnimation);
// 通过XML文件实现
Animation translateAnimation = AnimationUtils.loadAnimation(this, R.anim.translate);
imageView.startAnimation(translateAnimation);
```
其中,translate.xml文件的内容如下所示:
```
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="0"
android:toXDelta="200"
android:repeatCount="infinite"
android:repeatMode="reverse" />
```
阅读全文