Tween動畫TranslateAnimation細節介紹
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"?退出動畫fadeout.xml 從上往下> <setxmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromYDelta="100%" android:toYDelta="0" android:duration="500"/> </set>
<?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細節介紹