近日研究動畫,失眠幾日終於搞定,將心得整理於此,藉以警戒本身,要提升自我學習的能力,要細心,更要淡定!函數
兩大重點:佈局
1.Tweener的動畫參數的使用以意義。學習
2.ObjectAnimator動畫及動畫軌跡的使用。動畫
其中的失誤點有:delay的使用,rotation的使用以動畫軌跡的構造。設計
tweener是依靠draw來重繪佈局,因此在tweener裏添加的項需在draw裏實現相應的get和set函數。接口
tweener的相關項有:get
1.durationio
表示該動畫所播放須要的時間;im
2.ease移動
能夠自定義動畫從起始值到結束值的播放軌跡,實現本身的getInterpolator,能夠線性,sin,log,梯形皆可。
如抖動設置「25,0」其行走的軌跡爲sin曲線。
3.alpha
表示動畫的透明度,可經過控制運動軌跡實現淡入淡出。
4.rotation
動畫旋轉的角度,2D旋轉,3D的旋轉需使用rotationX,rotationY的參數。
可經過設置repeatcount,repeatmode來設置抖動的頻率。
5.delay
表示開始動畫的延遲時間,調用start後多久才播放動畫。以前忽略了這個參數,一直想不明白動畫間會相互影響,原來是設置了延時,該打!嘿嘿
6.scaleX,scaleY
表示控件拉伸的尺度,水平方向及豎直方向的伸縮。
7.x y
表示控件從動畫開始到結束的位置播放的空間。
8.ObjectAnimator
可支持軌跡動畫,設置起點和結束點。可多動畫同時執行。
9TranslateAnimation
位移動畫。TranslateAnimation firstIntoAnima = new TranslateAnimation(0,0,indexX,indexY);
主要須要注意的地方有,setfillafter接口可設置動畫位移後停留在結束的位置;若要停留在開始的位置,又想隱藏由結束跳到開始的細節,設計以下:
在動畫的onAnimationEnd接口中重設動畫,TranslateAnimation anim = new TranslateAnimation(0,0,0,0);並start,此時前一次未作完的回到開始點的動畫將被取消,
並從新開啓這次reset動畫,將不會產生恢復細節的閃動狀態。這句代碼簡單大救於我啊,糾結很多天的閃動搞定啦@@@嘿嘿