* Tweened animation:
- 通過對 view 不斷做圖像變換(平移、縮放、旋轉)產生動畫效果。
- 預先在 .java or .xml 中定義一組動畫動作,此組動作可有變換類型、觸發時間、持續時間等,啟動後,便會執行這一連串的動作。
- 動畫的執行速度由 interpolator 控制,ex: LinearInterpolator、 Accelerateinterpolator、DecelerateInterpolator。
- 圖形變化是通過鏡射矩陣達成,每種變換都是一次矩陣運算。
- 在 Android 中,Canvas 類中包含當前矩陣,使用 Canvas.drawBitmap (bmp, x, y, Paint) 繪製時,android 會先把 bmp 做一次矩陣運算,然後將運算的结果顯示在 Canvas 上。
- 所以只需不断修改 Canvas 的矩陣並更新畫面,View 就會不停的做圖形變化而呈現動畫。
* frame-by-frame animation:順序播放事先做好的圖像,跟電影類似
* LayoutTransition: container 有新增/remove item 時會 animation
* android:duration="@android:integer/config_longAnimTime"
config_longAnimTime is just slightly less than a half second, and is long enough for most purposes.
* alpha:透明度效果
Translate:畫面轉換位置移動動畫效果
* z axis: 距離螢幕的距離
-z: zoomIn
+z: zoomOut
* y axis:
+y: right (逆時鐘)
-y: left (順時鐘)
* angle
-angle: 逆時鐘
+angle: 順時鐘
- -> + : 順時鐘
- -> - : 逆時鐘
+ -> + : 順時鐘
+ -> - : 逆時鐘
* action
onScroll: 拿
onFling: 丟
* Reference
- 分析android动画模块
- Android中渐变动画演示(Tween Animation) - Android Studio - 青藤园
- anddev.org • View topic - Splash Fade, Activity Animations, overridePendingTransition
沒有留言:
張貼留言