Android-动画

逐帧动画

  逐帧动画就是一张张图片连起来形成的帧动画
资源下载

创建

1.往drawable中导入图片

2.创建xml文件

3.xml文件中的控件和属性
  animation-list: 根节点,包含了item子节点
  item: animation-list的子节点,每个item存放一张图片

  android:drawable: 定义图片
  android:duration: 定义每张图的时间(毫秒)

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/practice_1" android:duration="100"></item>
<item android:drawable="@drawable/practice_2" android:duration="100"></item>
<item android:drawable="@drawable/practice_3" android:duration="100"></item>
<item android:drawable="@drawable/practice_4" android:duration="100"></item>
<item android:drawable="@drawable/practice_5" android:duration="100"></item>
<item android:drawable="@drawable/practice_6" android:duration="100"></item>
<item android:drawable="@drawable/practice_7" android:duration="100"></item>
</animation-list>

应用

直接应用于控件背景

1
2
3
4
5
6
7
<LinearLayout android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@drawable/frame"
android:id="@+id/linear"
xmlns:android="http://schemas.android.com/apk/res/android">
</LinearLayout>

在java文件中使其“动”起来

1
2
3
4
5
6
//        获取动画的drawable资源
AnimationDrawable animationDrawable = (AnimationDrawable) linearLayout.getBackground();
// 启动动画
animationDrawable.start();
// 停止动画
// animationDrawable.stop();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {
private LinearLayout linearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

linearLayout = findViewById(R.id.linear);
// 获取动画的drawable资源
AnimationDrawable animationDrawable = (AnimationDrawable) linearLayout.getBackground();
// 启动动画
animationDrawable.start();
// 停止动画
// animationDrawable.stop();
}
}

补间动画

  1. alpha: 透明度
  2. rotate: 旋转
  3. scale: 缩放
  4. translate: 平移

属性动画

太无聊了动画这个东西,以后有时间再写