Android 基础动画之 alpha 透明度 / translate 平移 / rotate 旋转

  1. 云栖社区>
  2. 博客>
  3. 正文

Android 基础动画之 alpha 透明度 / translate 平移 / rotate 旋转

阿策~ 2019-01-07 18:28:52 浏览631
展开阅读全文

      小菜最近在学习 Android 基本动画,前两天整理了一下相对复杂的 Android 基础动画之 scale 渐变缩放,今天继续学习整理其他三种基本动画。

公共属性:

1. android:duration="3500"

      duration 代表动画过程中持续时常;所有的动画均有该属性;

2. android:fillAfter="true"

      fillAfter 代表动画结束后是否保存在最后位置,true 为结束位置,false 为返回开始位置。

      动画的绑定方式可以参考上一篇博客,下面直接介绍各动画详细属性。

Alpha 透明度

anim_alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

1. android:fromAlpha="0.0"

      fromAlpha 代表 View 的初始透明度;

2. android:toAlpha="1.0"

      toAlpha 代表 View 的终止透明度;

      Tips: 透明度设置的范围并非只是在 0.0~1.0 之间,<= 0.0 不可见,>= 1.0 为可见,设置在初始值小于 0.0 或终止值大于 1.0 时显示是有区别的。例:fromAlpha="-2.5" 和 toAlpha="1.0",动画时间前 2.5s 均不可见,最后 1s 出现由 0.0->1.0 的透明变化,建议大家多多尝试。

Translate 平移

anim_translate.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:toXDelta="50%"
    android:toYDelta="50%p" />

1. android:fromXDelta="0"

      fromXDelta 代表水平方向平移的初始位置;

2. android:toXDelta="50%"

      toXDelta 代表水平方向平移的终止位置;

3. android:fromYDelta="0"

      fromYDelta 代表竖直方向平移的初始位置;

4. android:toYDelta="50%"

      toYDelta 代表竖直方向平移的终止位置;

      Tips: 平移的值与 scale 缩放时类似,分为整数值,百分比/小数点值,百分比 + p 方式,使用方法与 scale 中一致,请参照上一篇博客介绍。

Rotate 旋转

anim_rotate.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fillAfter="true"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="0%"
    android:toDegrees="360" />

1. android:fromDegrees="0"

      fromDegrees 代表 View 旋转时初始角度,角度正负均可;

2. android:toDegrees="0"

      toDegrees 代表 View 旋转时终止角度;

3. android:pivotX="50%"

      pivotX 代表 View 旋转时圆心 (pivotX, y)

4. android:pivotY="0%"

      pivotY 代表 View 旋转时圆心 (x, pivotY)

Tips:

  1. pivotXpivotY 代表的圆心坐标点值与 scale 缩放时类似,分为整数值,百分比/小数点值,百分比 + p 方式;
  2. 若不设置 pivotXpivotY 默认代表 (0, 0),若不设置 fromDegreestoDegrees 默认没有反应,因为旋转角度为 0,若不设置 duration 则没有旋转效果,默认时间为 0。

      小菜的动画部分是短板,正在从零学习,不对的请多多指正。

网友评论

登录后评论
0/500
评论
阿策~
+ 关注