帧(Frame)动画
来源:互联网 发布:直发夹板 知乎 编辑:程序博客网 时间:2024/05/20 18:43
1.定义方法:res/drawable 文件夹下
定义方法:在 <animation-list.../> 元素中使用 <item.../> 子元素定义动画的全部帧,并指定各帧的持续时间即可。
语法格式:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot=["true" | "false"]>
<item android:drawable="@[package:]drawable/drawable_resource_name" android:duration="integer" />
</animation-list>
android:drawable 当前帧引用的drawable资源
android:duration 当前帧显示的时间(毫秒为单位)
android:oneshot 如果为true,表示动画只播放一次停止在最后一帧上,如果设置为false表示动画循环播放。
android:visible 规定drawable的初始可见性,默认为flase
2016/10/31 23:35
<?xmlversion="1.0"encoding="utf-8"?>
<animation-listxmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<!--每间隔50ms换一张图片--->
<item
android:drawable="@drawable/rocket3"
android:duration="50"/>
<item
android:drawable="@drawable/rocket4"
android:duration="50"/>
<item
android:drawable="@drawable/rocket5"
android:duration="50"/>
<item
android:drawable="@drawable/rocket6"
android:duration="50"/>
</animation-list>
xml文件
使用方法:
1.在res/drawable 资源文件中定义好xml文件
2.在布局文件中应用该文件(background,src)
3.在java代码中启动动画
ImageView iv = (ImageView) findViewById(R.id.iv);
AnimationDrawable anim = (AnimationDrawable) iv.getBackground();
anim.start();
扩展:获取动画时间 在java代码中,获取动画运行时间:
- 获取所有帧数量
- 循环获取每一帧持续时间,并累加
// 获取动画持续时间单帧相加
intnumberOfFrames =numberAnimation.getNumberOfFrames();
for (inti = 0;i <numberOfFrames;i++) {
numberTime +=numberAnimation.getDuration(i);
}
java代码直接生成帧动画:
- 创建 AnimationDrawable 对象。
- 调用方法向动画中添加帧:
- addFrame(Drawable frame, int duration) :每调用一次该方法,就向 <animation-list.../> 元素中添加一个 <item.../> 子元素。
- 用 ImageView 把 AnimationDrawable 显示出来——通常把 AnimationDrawable 设成 ImageView 的背景即可。
- AnimationDrawable 代表的动画默认是不播放的,必须在程序中启动动画的播放。
- start() :开始播放动画。
- stop() :停止播放动画。
0 0
- 帧(Frame)动画
- 帧动画(Frame By Frame)
- Android动画-Frame Animation(帧动画)
- Animation动画(二)---- Frame 帧动画
- Frame Animation(逐帧动画)
- Android 帧动画(Frame Animation)
- Frame Animation 帧动画
- Frame Animation 帧动画
- android Frame帧动画
- 帧动画frame
- 逐帧(Frame)动画
- Android Animation 动画Demo(Frame逐帧动画)
- Android两大动画之Frame(帧动画)详解
- Android 动画系列之逐帧(Frame)动画详解
- 安卓动画之帧动画(Frame Animations)
- Android动画效果之Frame Animation(逐帧动画)
- Android动画——逐帧动画(Frame Animation)
- Android动画效果之Frame Animation(逐帧动画)
- memcpy()
- 剑指offer-面试题11-数值的整数次方
- yum常用命令
- 2017界面UI设计风格流行什么?(二)
- 0117 带缓存的I/O操作
- 帧(Frame)动画
- 一边搭建一边理解MongoDB副本集(副本集部署架构)
- intel的cpu总线
- JDBC requires that the JdbcType must be specified for all nullable parameters.
- 2017年1月17日19:40:41
- Linux cannot remove is a directory 解决办法
- caffe自定义layer
- c语言小练习
- 一些自己的项目整理