android动画基础

animation动画通常是对图片进行透明度渐变,尺寸渐变,位置移动,旋转,这四个动作进行处理。

透明度渐变:alpha

尺寸渐变:scale

位置移动:translate

旋转:rotate

两种方式定义动画:xml定义,java代码定义

xml的常规写法:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha/>
<scale/>
<translate/>
<rotate/>
<set/>

java代码定义

AnimationUtils.loadAnimation   静态方法调用xml文件,再通过控件的startAnimation方法将静态方法返回的animation设置进去。

 AlphaAnimation 控制渐变透明的动画效果

  1.android: fromAlpha  动画起始时的透明度

  2.android: toAlpha 动画结束时的透明度   

ScaleAnimation 控制尺寸伸缩的动画效果

  1.android:fromXScale 动画起始时x坐标的伸缩尺寸

  2.android:toXScale     动画结束时X坐标的伸缩尺寸

  3.android:fromYScale 动画起始时Y坐标的伸缩尺寸

  4.android:toYScale     动画结束时Y坐标的伸缩尺寸

  说明: 以上四个属性的设置值为float 0.0 表示收缩到没有,1.0 表示大小为默认大小,大于1.0 表示放大,小于1.0 则是缩小

  5.android:pivotX        动画开始时X坐标的起始位置

  6.android:pivotY        动画开始时Y坐标的起始位置

  说明: 以上两个值设置值为: 0% ~ 100%。

TranslateAnimation  控制画面平移的动画效果

  1.android:fromXDelta  动画起始时x坐标的位置

  2.android:toXDelta      动画结束时x坐标的位置

  3.android:fromYDelta 动画起始时x坐标的位置

  4.android:toYDelta 动画起始时x坐标的位置

   说明:以上四种属性可以设置三种值。  1. 普通像素值 2.   数字+%  相对于元素自身的宽度或者高度 (x为宽度,y为高度)3.   数字+%p 相对于元素自身的宽度或者    高度 (x为宽度,y为高度)

RotateAnimation  控制画面角度变化的动画效果

  1.android:fromDegrees 动画起始时元素的角度

  2.android:toDegrees     动画结束时元素的角度

  说明:当角度为负数——表示逆时针旋转,当角度为正数——表示顺时针旋转 。 

  3.android:pivotX           相对于元素x坐标的开始位置

  4.android:pivotY           相对于元素y坐标的开始位置

  说明: 以上两种属性可以设置三种类型值-  1. float : 相对于对象左边缘或者上边缘的像素值 (例如:5 )2. 数字+% : 相对于元素本身的左边缘或者上边缘的百分比    (如: 5%)3. 数字+%p: 相对于父容器的左边缘或者上边缘的百分比 (如: 5%)

一些公用属性:

  android:duration        动画持续时间,单位:毫秒

  android:fillAfter          设置为true时,当动画结束会应用此动画变形

  android:fillBefore        设置为true时,当动画开始时会应用此动画变形

  android:repeatCount  动画重复次数

  android:repeatMode   定义动画重复行为。RESTART: 重新开始       REVERSE:反向

猜你喜欢

转载自csu-10086.iteye.com/blog/1915356