今天来学习一下Animation文件里面translate的fromXDelta/fromYDelta
与toXDelta/toYDelta
值使用。
现在看一下动画吧:
很简单,就是一个从左向右的动画,怎么实现呢?我们来看一下动画文件:anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000">
<translate
android:fromXDelta="-100%p"
android:toXDelta="0%p" />
</set>
-100%p是啥呢? 为啥是负的不是正的,这里就是这篇文章要说的~~
我们先看一下下面的图(注:此图原创不是我,我将其思想重新整理了一下,可以更好的理解)
1. X方向的动画值
X方向的我们比较好理解,针对坐标系,我们的手机左侧边缘就是对应的X轴0点,向右为正,向左为负,因此,如果要让View或Activity,从左进入屏幕,我们就需要从一个负值(可以-80%之类的)-》0值,因此我们在做X方向动画时,只需要记住第一个图就可以了。
1. 从位置1 <–> 位置0: -100%p <–> 0%p (p代表相对于父布局而言即parent)
2. 从位置2 <–> 位置0: 100%p <–> 0%p
2. Y方向的动画值
针对所有移动设备,不管是Android还是IOS,默认原点坐标都是屏幕的左上角,我特意标了一个大黑点。
因此,如果View/Activity 从屏幕上侧向下移动到屏幕里,可以理解为是从Y轴负方向向正方向移动。
1. 从位置1 <–> 位置0:-100%p <–>0%p
2. 从位置2 <–> 位置0:100%p <–>0%p
注意上面均为双向箭头,即反之也成立。
原文地址:http://blog.youkuaiyun.com/yk3372/article/details/53149109