首页 > 代码库 > Tween动画TranslateAnimation细节介绍

Tween动画TranslateAnimation细节介绍

Tween动画有下面这几种:

Animation   动画

AlphaAnimation 渐变透明度

RotateAnimation 画面旋转

ScaleAnimation 渐变尺寸缩放

TranslateAnimation 位置移动

AnimationSet  动画集


今天主要讲讲TranslateAnimation

基本的属性有

float fromXDelta:这个參数表示动画開始的点离当前View X坐标上的差值;

float toXDelta, 这个參数表示动画结束的点离当前View X坐标上的差值;

float fromYDelta, 这个參数表示动画開始的点离当前View Y坐标上的差值。

float toYDelta)这个參数表示动画開始的点离当前View Y坐标上的差值。

这些大家都知道。可是你们真的了解了TranslateAnimation的x,y为0时刻,表示的位置了吗??

在TranslateAnimation中。对位置的理解,假设你没弄清楚。经常常使用到相反的效果,自己还振振有词的说

是不是书本有错误了,和你的实践对不上。

事实上理解起来也不难。一张图搞定

技术分享

从图上看出来,x,y为0的状态就是动画对象全然显示在屏幕中的状态(不一定是屏幕中央,取决于你动画对象实际宽高)

Y的100%状态是往屏幕下方移动整个动画效果,Y的-100%是屏幕上方移动整个动画高度,x方向上类似。右側表示

100%,左側表示-100%;

接下来,同个一个实例解说:对一个Popupwindow弹出做弹出动画效果。点击屏幕中button,popupwindow从下往上显示,

然后点击popupwindow中的button,popupwindow从上往下收起。

分为进入动画fadein.xml  从下往上

<?

xml version="1.0"encoding="utf-8"?> <setxmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromYDelta="100%" android:toYDelta="0" android:duration="500"/> </set>

退出动画fadeout.xml 从上往下

<?

xml version="1.0"encoding="utf-8"?> <setxmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromYDelta="0" android:toYDelta="100%" android:duration="500"/> </set>



/PopupWindow/res/values/styles.xml
<?xml version="1.0" encoding="utf-8"?

> <resources> <style name="animation"> <itemname="android:windowEnterAnimation">@anim/fadein</item> <itemname="android:windowExitAnimation">@anim/fadeout</item> </style> </resources>


这样就实现了popupwindow从底部到全然显示。再从显示究竟部消失的动画过程 。其它效果自己去实践


注:在简单的东西。都是靠自己实践才明确。也不要说这个,那个太简单,看了就懂了,非常多东西看过了懂了

过段时间你就不懂了,这就是你学什么都没学精的缘由吧




Tween动画TranslateAnimation细节介绍