今天公司项目首页上的一个UI需要用到逐帧动画和属性动画 以前只接触过两个Activity之间的动画 </br> 代码还是直接复制别人的 没错 今天也是复制别人的 哈哈。。
</br> 进入主题 看下下面的截图 没有录屏工具 效果是小星星一闪一闪的 那两篇云一直在飘动 之前想做这个星星一闪一闪的效果想用两张图 然后用定时器定时切换 后来发现不能实现
后来就在百度上找解决方案 发现逐帧动画可以实现我想实现的效果
什么是逐帧动画呢 我的理解就是 实现定义好一系列图片 然后设置每张图片播放的时间 系统就会按照你的设置一张一张播放你定义好的图片 这里的每一张图片和这张图片所持续的时间就是一帧 这就是逐帧动画 下面来说如何实现
逐帧动画的基本实现
1.先写上一个imgview
<ImageView
android:id="@+id/star_1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="30dp"
android:src="@drawable/ic_star_big" />
2.写上逐帧动画的所有帧数的xml文件
这个文件在res下面的anim里面写的
命名为star_anim
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"> //这个是是否只播放一次
<item
android:drawable="@drawable/ic_star_small"
android:duration="1500"/> //这个是持续时间
<item
android:drawable="@drawable/ic_star_big"
android:duration="1500"/>
</animation-list>
3.java代码里面使用
star1= (ImageView) view.findViewById(R.id.star_1);
star1.setImageResource(R.drawable.star_anim);
animationDrawable = (AnimationDrawable)
message.getDrawable();animationDrawable.start();