逐帧动画
1.在drawable下创建一个animation-list文件,起名:al
2.可以在al.xml资源文件中添加item标签
把图片粘贴到drawable,创建三个图片,每个图片显示一秒钟
drawable | 图片 |
---|---|
duration | 时长 |
<item
android:drawable="@drawable/a"
android:duration="1000"></item>
<item
android:drawable="@drawable/b"
android:duration="1000"></item>
<item
android:drawable="@drawable/c"
android:duration="1000"></item>
3.在前台页面activity_main.xml加标签
把al资源文件绑定在这里
<View
android:id="@+id/v"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/al"></View>
4.在后台MainActivity.java
1)拿到view findViewById
2)强转成AnimationDrawable类型,一定要.getBackground()要不不成功
AnimationDrawable ad = (AnimationDrawable) v .getBackground();
3)ad.start();
ad.setOneShot(true);只播放一次
View v = findViewById(R.id.v);
AnimationDrawable ad = (AnimationDrawable) v.getBackground();
ad.start();
效果:根据al设置的时长,图片就会动起来(每一秒换一张图片)
视图动画
Animation:
AlphaAnimation:颜色渐变
ScaleAnimation:缩放
TranslateAnimation:位移
RotateAnimation:旋转
AlphaAnimation:颜色渐变
1.创建一个空activity
2.在res下新建一个资源文件,选anim,名就不要改了(和raw,menu一样)
3.在anim创建资源文件,起名jianbian
4.在jianbian.xml加标签
android:duration=“3000” | 设置时间 |
---|---|
android:fillAfter=“true” | 保存最后的效果(这里保持没有) |
从1.0到0:从满色到无色(渐变)
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"></alpha>
5.在activity_main.xml设置个按钮
<Button
android:text="点击"
android:id="@+id/btn"
android:background="#ff0000"
android:layout_width="match_parent"
android:layout_height="wrap_content"></Button>
6.在后台MainActivity.java
拿到btn findViewById注册点击事件:
1)Animation a= AnimationUtils.loadAnimation加载方法(Main2Activity.this, anim下的资源文件: R.anim.jianbian);
2)button.startAnimation(a);开始动画
也可以在这儿设置时长:a.setDuration(3000);
final Button button = findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation a= AnimationUtils.loadAnimation(Main2Activity.this,R.anim.jianbian);
button.startAnimation(a);
}
});
效果:点击按钮慢慢消失(渐变)
ScaleAnimation:缩放
1.在res下创建anim文件夹
2.在anim下创建资源文件,起名:suofang
3