博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android.view.animation(1) - alpha、scale、translate、rotate、set的xml属性和用法(转)
阅读量:6365 次
发布时间:2019-06-23

本文共 2832 字,大约阅读时间需要 9 分钟。

一.ScaleAnimation

ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

  • android:fromXScale    起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍;
  • android:toXScale        结尾的X方向上相对自身的缩放比例,浮点值;
  • android:fromYScale    起始的Y方向上相对自身的缩放比例,浮点值,
  • android:toYScale        结尾的Y方向上相对自身的缩放比例,浮点值;
  • android:pivotX            缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;   如果是50%p,那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。(具体意义,后面会举例演示)
  • android:pivotY           缩放起点Y轴坐标,取值及意义跟android:pivotX一样。

(1)、pivotX取值数值时(50)

这个控件,宽度和高度都是从0放大到1.4倍,起始点坐标在控件左上角(坐标原点),向x轴正方向和y轴正方向都加上50像素;

根据pivotX,pivotY的意义,控件的左上角即为控件的坐标原点,这里的起始点是在控件的原点的基础上向X轴和Y轴各加上50px,做为起始点,如下图中图二所示

 

(2)、pivotX取值百分数时(50%)

下面再看看当pivotX、pivotY取百分数的时候,起始点又在哪里?
上面我们讲了,pivotX的值,当取50%时,表示在原点坐标的基础上加上的自己宽度的50%,看看效果:

 

(3)、pivotX取值50%p时

前面说过,当取值在百分数后面加上一个字母p,就表示,取值的基数是父控件,即在原点的基础上增加的值是父标签的百分值。

二.Animation

Animation类是所有动画(scale、alpha、translate、rotate)的基类,这里以scale标签为例,讲解一下,Animation类所具有的属性及意义。

  • android:duration        动画持续时间,以毫秒为单位 
  • android:fillAfter          如果设置为true,控件动画结束时,将保持动画最后时的状态
  • android:fillBefore       如果设置为true,控件动画结束时,还原到开始动画前的状态
  • android:fillEnabled    与android:fillBefore 效果相同,都是在动画结束时,将控件还原到初始化状态
  • android:repeatCount 重复次数
  • android:repeatMode 重复类型,有reverse和restart两个值,reverse表示倒序回放,restart表示重新放一遍,必须与repeatCount一起使用才能看到效果。因为这里的意义是重复的类型,即回放时的动作。
  • android:interpolator  设定插值器,其实就是指定的动作效果,比如弹跳效果等,不在这小节中讲解,后面会单独列出一单讲解。

对于android:duration,就不再讲解了,就是动画的持续时长,以毫秒为单位,下面看看android:fillAfter和android:fillBefore

三.AlphaAnimation

AlphaAnimation(float fromAlpha, float toAlpha)

  • android:fromAlpha   动画开始的透明度,从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明
  • android:toAlpha       动画结束时的透明度,也是从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明

四.RotateAnimation

RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

  • android:fromDegrees     开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
  • android:toDegrees         结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
  • android:pivotX               缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲
  • android:pivotY               缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p

 

围绕自身从0度顺时针旋转650度

 android:fromDegrees="0"

 android:toDegrees="650"

五.TranslateAnimation

TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue)

  • android:fromXDelta     起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲
  • android:fromYDelta    起始点Y轴从标,可以是数值、百分数、百分数p 三种样式;
  • android:toXDelta         结束点X轴坐标
  • android:toYDelta        结束点Y轴坐标

 

六.AnimationSet

AnimationSet(boolean shareInterpolator)

如果参数为true,则代表该AnimationSet中的所有元素都使用AnimationSet关联的Interpolator。反之,则使用各自关联的Interpolator。

参考链接:

 

转载地址:http://nnoma.baihongyu.com/

你可能感兴趣的文章
软件设计师01-计算机组成原理与体系结构
查看>>
javascript将base64编码的图片数据转换为file并提交
查看>>
最大子矩阵
查看>>
C# Linq GroupBy 分组过滤求和
查看>>
英文标点
查看>>
[题解]公共汽车
查看>>
工具类脚本代码
查看>>
winform下picturebox控件显示图片问题
查看>>
Spring点滴十一:Spring中BeanFactoryPostProcessor和BeanPostProcessor区别
查看>>
[JavaScript] js判断是否在微信浏览器中打开
查看>>
【转载部分修改】C#如何在DataGridView控件中验证数据输入
查看>>
expect 实例
查看>>
在多个linux服务器上执行一个命令
查看>>
普通平衡树
查看>>
分享用于学习C++音频处理的代码示例
查看>>
P2300 合并神犇
查看>>
1、Web Service-开始入坑(基础简介)
查看>>
3、URL和URI(中)
查看>>
跨越鸿沟(选读1)
查看>>
各种异常 及异常类和Object类 Math类
查看>>