1. 程式人生 > >Tween動畫TranslateAnimation細節介紹

Tween動畫TranslateAnimation細節介紹

win ast 移動 tor 學什麽 當前 from 時間 fill

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細節介紹