Android Animation学习(六) View Animation介绍
Android Animation学习(六) View Animation介绍
View Animation
View animation系统可以用来执行View上的Tween animation和Frame animation。
Tween animation可以在View对象上执行一系列的简单变换,比如位置、尺寸、旋转、透明度等。
animation package
包中包含了tween animation所有的类。
一系列的动画命令定义了一个完整的tween animation,可以用代码定义也可以用XML资源文件定义。
XML资源文件
XML资源文件的使用可以见:Animation Resources。
XML文件放在项目的res/anim/目录下。文件必须有一个唯一的根节点。
这个根节点可以是:<alpha>, <scale>, <translate>, <rotate>, interpolator element, 或者是<set>。
默认情况下,所有的动画都是并行进行的,要想使得它们顺寻发生,你必须指定startOffset属性。
有一些值,可以指定是相对于View本身还是相对于父类容器的。
比如pivotX,要表示相对于自身的50%,要用50%;要表示相对于父类容器的50%,则直接写50。
使用例子
XML文件存储为:res/anim/hyperspace_jump.xml:
<set xmlns:android="http://schemas.android.com/apk/res/android"android:shareInterpolator="false"><scaleandroid:interpolator="@android:anim/accelerate_decelerate_interpolator"android:fromXScale="1.0"android:toXScale="1.4"android:fromYScale="1.0"android:toYScale="0.6"android:pivotX="50%"android:pivotY="50%"android:fillAfter="false"android:duration="700" /><setandroid:interpolator="@android:anim/accelerate_interpolator"android:startOffset="700"><scaleandroid:fromXScale="1.4"android:toXScale="0.0"android:fromYScale="0.6"android:toYScale="0.0"android:pivotX="50%"android:pivotY="50%"android:duration="400" /><rotateandroid:fromDegrees="0"android:toDegrees="-45"android:toYScale="0.0"android:pivotX="50%"android:pivotY="50%"android:duration="400" /></set> </set>
在代码中把这个动画应用于一个ImageView:
ImageView image = (ImageView) findViewById(R.id.image); Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump); image.startAnimation(hyperspaceJump);
除了调用 startAnimation()
,另一种处理方式是通过Animation.setStartTime()方法定义一个开始时间,然后通过View.setAnimation()
方法把这个动画赋给控件即可。
View Animation和Property Animation
View Animation是API Level 1就引入的。
View Animation在包android.view.animation
中。
动画类叫Animation。
Property Animation是API Level 11引入的,即Android 3.0才开始有Property Animation相关的API。
Property Animation API在包 android.animation
中。
动画相关类叫Animator。
参考资料
API Guides:View Animation
http://developer.android.com/guide/topics/graphics/view-animation.html
Tween animation的包:
http://developer.android.com/reference/android/view/animation/package-summary.html
Animation类:
http://developer.android.com/reference/android/view/animation/Animation.html
Animation Resources
http://developer.android.com/guide/topics/resources/animation-resource.html
转载于:https://www.cnblogs.com/mengdd/p/3309731.html
Android Animation学习(六) View Animation介绍相关推荐
- Android JNI学习(六)——Java与Native实战演习
前言: 前几篇我主要介绍了jni先关的基础知识和常用API,相信看过的童靴对JNI已经有了一定的了解,如果不了解也没关系,下面我给出了链接,可以点进去学习.接下来我将实战一个完整案例,案例很简单,就是 ...
- Android 虚拟机学习总结Dalvik虚拟机介绍
1.Dalvik虚拟机与Java虚拟机的最显著差别是它们分别具有不同的类文件格式以及指令集.Dalvik虚拟机使用的是dex(Dalvik Executable)格式的类文件,而Java虚拟机使用的是 ...
- Android多媒体学习六:访问网络上的Audio对应的M3U文件,实现网络音频流的播放
Android中提供了对网络上流媒体的支持,我们可以使用MediaPlayer类来播放一个网络上的音频文件. 但是网络上的站点并不建议我们直接访问流,我们需要获取他提供的M3U文件,根据M3U文件来实 ...
- Android Framework学习(六)之RefBase,SP,WP
Android中通过引用计数来实现智能指针,并且实现有强指针与弱指针.由对象本身来提供引用计数器,但是对象不会去维护引用计数器的值,而是由智能指针来管理. 要达到所有对象都可用引用计数器实现智能指针管 ...
- Android Animation学习(一) Property Animation原理介绍和API简介
Android Animation学习(一) Property Animation介绍 Android Animation Android framework提供了两种动画系统: property a ...
- android service 学习(上)
转载自:http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html Service是android 系统中的一种组件,它跟Activity ...
- 动画代码Android动画学习笔记动画代码
间时紧张,先记一笔,后续优化与完善. 3.0之前,android支撑两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画统系:pr ...
- Android Framework学习(八)之Handler消息机制(Native层)解析
在深入解析Android中Handler消息机制一文中,我们学习了Handler消息机制的java层代码,这次我们来学习Handler消息机制的native层代码. 在Java层的消息处理机制中,Me ...
- Android 动画学习笔记
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...
最新文章
- Python:Scrapy 框架简单介绍
- ob_get_contents();basename;file_get_contents用法
- GMM-HMM语音识别模型 原理篇
- IntelliJ IDEA 设置代码检查级别
- PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳。在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据。即使使用了第二个参数,也会重复,最好的方案是结
- 从 0 到 1 | 手把手教你如何使用哈工大 NLP 工具 —— PyLTP!
- 百度地图之添加控件——比例尺、缩略图、平移缩放
- JavaScript学习第一天——计算机基础导学(编程语言、计算机基础)
- 用户服务协议和隐私政策
- USB 3.0 高清音视频采集芯片——MS2130
- 【面试官说实现一个顺序表,但听到要求后我沉默了】
- 人工智能革命:人类永生还是灭亡(下)
- C#实现程序一次打开两个窗口,两个窗口分别放置在两个屏幕
- python tips
- 未来,谁在革通信设备商的命?
- L1-034 点赞 (20分)
- 如何还原服务器db文件的原有模式,dbPaaS该如何进行备份恢复管理?
- pdf转换为word比较少出现乱码的网站
- 【Leetcode】2105. 给植物浇水 II(中等)
- 如何理解电容的充放电过程?