Android API Guides---View Animation
来源:互联网 发布:淘宝运费险最多赔多少 编辑:程序博客网 时间:2024/06/06 02:01
View Animation
您可以使用视图动画系统对视图执行补间动画。吐温动画计算与信息动画如起点,终点,尺寸,旋转和动画的其他共同的方面。
补间动画可以执行一系列的视图对象的内容进行简单的转换(位置,大小,旋转和透明度)的。所以,如果你有一个TextView对象,你可以移动,旋转,增长或缩小文本。如果它有一个背景图片,背景图像与文本转化一起。动画包提供的补间动画中使用的所有类。
动漫指令序列定义补间动画,通过XML或Android的代码中定义。正如定义布局,XML文件建议,因为它更可读,可重复使用,并且支持热插拔不是硬编码的动画。在下面的例子中,我们使用XML。 (要了解更多关于在应用程序代码中定义的,而不是XML的动画,指AnimationSet类和其他动画子类)。
动画指令定义要发生,何时发生,他们的转化,以及多久他们应该适用。转换可以连续或同时 - 例如,你可以有一个TextView移动内容由左到右,然后旋转180度,或者你可以有文字移动和同时转动。每个变换采用一组特异于该变换参数(起始大小和尺寸的变化结束的大小,起始角度和旋转结束角度,等等),并且还一组通用参数(例如,开始时间和持续时间) 。为了让几个转换同时发生,给他们相同的开始时间;以使它们的顺序,计算开始时间加上前述转化的持续时间。
动画XML文件属于你的Android项目的RES /动画/目录下。该文件必须有一个根元素:这将是单个<阿尔法>,<规模>,<翻译>,<旋转>,插元素,或<set>元素来装这些元素组(其中可能包括另一<设置>)。默认情况下,所有的动画指令同时适用。以使它们按顺序发生,必须指定startOffset属性,如下面的例子中
从ApiDemos之一以下XML是用来拉伸,然后同时旋转,旋转视图对象。
<set android:shareInterpolator="false"> <scale android: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" /> <set android:interpolator="@android:anim/decelerate_interpolator"> <scale android:fromXScale="1.4" android:toXScale="0.0" android:fromYScale="0.6" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" android:fillBefore="false" /> <rotate android:fromDegrees="0" android:toDegrees="-45" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" /> </set></set>屏幕坐标(在本实施例未使用)是(0,0)在左上角,并且随着你去向下和向右。
一些数值,如pivotX,可以相对于物体本身或相对于母体指定。一定要使用正确的格式为你想要的(“50”相对于50%的父母,或“50%”相对于50%本身)的内容。
你可以决定如何转换通过分配一个内插器上施加的时间。 Android包括指定不同的速度曲线插补几个子类:例如,AccelerateInterpolator讲述了一个转变,开始缓慢加速。每一个具有可以在XML施加一个属性值。
有了这个XML项目的RES /动画/目录下保存为超空间jump.xml,下面的代码将引用它,并把它应用到从布局的ImageView的对象。
ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage);Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);spaceshipImage.startAnimation(hyperspaceJumpAnimation);作为一种替代startAnimation(),您可以定义一个起始时间与Animation.setStartTime()动画,然后将动画分配与View.setAnimation视图()。
有关XML语法的详细信息,可标记和属性,看动画资源。
注意:无论怎样你的动画可以移动或调整,保存你的动画不会自动调整以适应它的视图的边界。即使如此,动画将仍然被绘制超出其观的界限,并不会被剪切。然而,如果动画超过父视图的边界将发生削波。
- Android API Guides---View Animation
- Android API Guides---Animation Resources
- Android API Guides---Property Animation
- Android API Guides---Drawable Animation
- Android API Guides---Grid View
- Android API Guides/Drawable Animation 翻译
- List View Android官方API Guides
- Android API Guides
- android API Guides------------------Fragment
- Android API Guides - Activities
- Android API Guides - Introduction
- Android API Guides 笔记
- Android API Guides---Activities
- Android API Guides---Fragments
- Android API Guides---Loader
- Android API Guides---Services
- Android API Guides---AIDL
- Android API Guides---Layouts
- iOS 模糊效果实现
- R-CNN笔记2:rcnn_train.m文件
- 线程
- LeetCode 刷题 -- power of three
- mysql批量更新语句优化
- Android API Guides---View Animation
- 反射
- Lintcode 二叉树后序遍历 非递归形式
- 并查集+Set-BZOJ-1604-[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
- 查询相册和摄像头的使用权限
- iOS-UITextView占位文字placeholder
- A strange lift
- myeclipse 远程调控 tomcat 配置
- Scrapy之信号