安卓动画详解——帧动画
2016-01-12 14:44
155 查看
安卓动画框架
逐帧动画(Frame Animation):原理就是将一个完整的动画拆成一张张图片,然后将其连贯起来播放。类似动画片。帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,很适合表现细腻的动画。
补间动画(tweened animation):它提供了AlphaAnimation,RotateAnimation,TranslateAnimation,ScaleAnimation四种动画方式,并提供了AnimationSet动画集合,混合使用多种动画集合。
属性动画(Property Animation):在android 3.0之前已有的动画框架存在一些局限性,动画改变的只是显示,并不能响应事件,所以Google推出了属性动画这样一个新的框架,帮助开发者实现更加丰富的动画效果。
逐帧动画使用步骤:
添加图片素材
动画布局文件 animation_list.xml
android:duration 表示展示所用的该图片的时间长度。oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
3. 界面布局文件
代码部分
逐帧动画(Frame Animation):原理就是将一个完整的动画拆成一张张图片,然后将其连贯起来播放。类似动画片。帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,很适合表现细腻的动画。
补间动画(tweened animation):它提供了AlphaAnimation,RotateAnimation,TranslateAnimation,ScaleAnimation四种动画方式,并提供了AnimationSet动画集合,混合使用多种动画集合。
属性动画(Property Animation):在android 3.0之前已有的动画框架存在一些局限性,动画改变的只是显示,并不能响应事件,所以Google推出了属性动画这样一个新的框架,帮助开发者实现更加丰富的动画效果。
逐帧动画使用步骤:
添加图片素材
动画布局文件 animation_list.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true" > <item android:drawable="@mipmap/img_1" android:duration="100"></item> <item android:drawable="@mipmap/img_2" android:duration="100"></item> <item android:drawable="@mipmap/img_3" android:duration="100"></item> <item android:drawable="@mipmap/img_4" android:duration="100"></item> <item android:drawable="@mipmap/img_5" android:duration="100"></item> </animation-list>
android:duration 表示展示所用的该图片的时间长度。oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
3. 界面布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/animation_list" ></ImageView> </RelativeLayout>
代码部分
ImageView iv= (ImageView) findViewById(R.id.iv); AnimationDrawable animationDrawable=(AnimationDrawable)iv.getBackground(); animationDrawable.start();
相关文章推荐
- iOS应用性能调优的25个建议和技巧
- JAVA Builder模式构建MAP/LIST的示例
- maven 错误列表
- 一个div 实现六个矩形
- [Andorid开发艺术探索 读书笔记]View的事件体系(二)
- 野生Js技术之字符画视频
- Swift入门 01常量&变量
- 持续集成
- Azure云服务反向DNS
- iOS 开发 版本控制 svn + Versions/Cornerstone
- C#窗体应用程序 vs + sql server2008连接举例,简单的学生信息管理系统
- oracle temporary tables
- 解决更新Android SDK时出现A folder failed to be renamed or moved办法
- MySql 里的IFNULL、NULLIF和ISNULL用法
- 在IJ上调式远程jetty和tomcat
- logger(一):C++ & logger模块配置及开发
- [easyui]封装一个datagrid
- 资源管理概念的形象化
- STM8 选项字节的写入
- Oracle日期时间函数大全