日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 补间动画有停顿,Android动画原理分析(一)----补间动画

發(fā)布時間:2024/4/18 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 补间动画有停顿,Android动画原理分析(一)----补间动画 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、基本特點

補間動畫(Tween動畫),是android最早的動畫框架,從Android1.0開始就有。

功能:可以實現(xiàn)移動、旋轉(zhuǎn)、縮放、漸變四種效果以及這四種效果的組合形式。

實現(xiàn)形式:xml和代碼。

優(yōu)點:使用簡單效果流暢。

缺點:1、擴展性差,不支持自定義view;

2、動畫只改變控件在屏幕的位置,不改變控件的實際屬性。典型例子:Button執(zhí)行完動畫移動到另外位置,點擊事件還在原來的地方。

2、設(shè)計原理:

雖然補間動畫有點古老,但是他的設(shè)計思想挺值得分析和借鑒的。這一塊的源代碼位于package android.view.animation

下圖是補間動畫的主體類圖:

[外鏈圖片轉(zhuǎn)存失敗(img-MDTDeKMK-1562952161376)(https://upload-images.jianshu.io/upload_images/16477783-d0a4dd4f78ecd5b5.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

動畫的狀態(tài)數(shù)據(jù)存在Transformation類中,主要的兩個成員是mAlpha用了描述漸變效果和Matrix用來描述縮放旋轉(zhuǎn)和平移效果。

通過AnimationUtils可以加載xml描述的動畫或者通過調(diào)用構(gòu)造函數(shù)生成需要的動畫

動畫的中間值則是由TimeInterpolator子類通過各種算法插值得出。

而Animation和Interpolator是由AnimationUtils加載xml或者通過默認值創(chuàng)造出來。

整個補間動畫模塊是在View繪制時嵌入的,下圖是簡要的時序圖:

[外鏈圖片轉(zhuǎn)存失敗(img-NFz2iV4p-1562952161377)(https://upload-images.jianshu.io/upload_images/16477783-a84dfdb61b5fbaf2.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)]

VIew的繪制過程是很復(fù)雜的,這里只是介紹了一下調(diào)用補間動畫模塊的一個過程,如果有興趣可以自己查看Android源碼。上圖箭頭上是函數(shù)方法名。

3、使用指南

這一塊有很多人都寫過,也寫的很好。這里推薦一篇

Android高級動畫(1)

4、總結(jié)

(1)通過看源碼可以徹底明白補間動畫的優(yōu)缺點,實現(xiàn)原理及設(shè)計思路;

(2)只能實現(xiàn)平移、縮放、旋轉(zhuǎn)、漸變的原因是這一套框架中的元數(shù)據(jù)Transformation 只保存了alpha和一個描述幾何變換的矩陣。

(3)不支持自定義view的原因是動畫模塊的調(diào)用起點在viewgroup

/**

* This method is called by ViewGroup.drawChild() to have each child view draw itself.

*

* This is where the View specializes rendering behavior based on layer type,

* and hardware acceleration.

*/

boolean draw(Canvas canvas, ViewGroup parent, long drawingTime) {}

總結(jié)

以上是生活随笔為你收集整理的android 补间动画有停顿,Android动画原理分析(一)----补间动画的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。