欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android动画基础

程序员文章站 2022-02-13 20:08:31
...

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:反向

相关标签: animation

上一篇: 小节

下一篇: Android animation 示例