【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第1頁
【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第2頁
【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第3頁
【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第4頁
【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第5頁
免費預覽已結(jié)束,剩余2頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

【移動應用開發(fā)技術(shù)】Android動畫入門教程之kotlin

前言Google在今年的IO大會上宣布,將Android開發(fā)的官方語言更換為Kotlin,作為跟著Google玩兒Android的人,我們必須盡快了解和使用Kotlin語言。本文將詳細介紹Android動畫入門之kotlin的相關內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。屬性動畫簡述在手機上去實現(xiàn)一些動畫效果算是件比較炫酷的事情,因此Android系統(tǒng)在一開始的時候就給我們提供了兩種實現(xiàn)動畫效果的方式,逐幀動畫(frame-by-frameanimation)和補間動畫(tweenedanimation)。逐幀動畫的工作原理很簡單,其實就是將一個完整的動畫拆分成一張張單獨的圖片,然后再將它們連貫起來進行播放,類似于動畫片的工作原理。補間動畫則是可以對View進行一系列的動畫操作,包括淡入淡出、縮放、平移、旋轉(zhuǎn)四種。

然而自Android3.0版本開始,系統(tǒng)給我們提供了一種全新的動畫模式,屬性動畫(propertyanimation),它的功能非常強大,彌補了之前補間動畫的一些缺陷,幾乎是可以完全替代掉補間動畫了。對于逐幀動畫和補間動畫的用法,我不想再多講,它們的技術(shù)已經(jīng)比較老了,而且網(wǎng)上資料也非常多,那么今天我們這篇文章的主題就是對Android屬性動畫進行一次完全解析。

為什么要引入屬性動畫?

Android之前的補間動畫機制其實還算是比較健全的,在android.view.animation包下面有好多的類可以供我們操作,來完成一系列的動畫效果,比如說對View進行移動、縮放、旋轉(zhuǎn)和淡入淡出,并且我們還可以借助AnimationSet來將這些動畫效果組合起來使用,除此之外還可以通過配置Interpolator來控制動畫的播放速度等等等等。那么這里大家可能要產(chǎn)生疑問了,既然之前的動畫機制已經(jīng)這么健全了,為什么還要引入屬性動畫呢?

其實上面所謂的健全都是相對的,如果你的需求中只需要對View進行移動、縮放、旋轉(zhuǎn)和淡入淡出操作,那么補間動畫確實已經(jīng)足夠健全了。但是很顯然,這些功能是不足以覆蓋所有的場景的,一旦我們的需求超出了移動、縮放、旋轉(zhuǎn)和淡入淡出這四種對View的操作,那么補間動畫就不能再幫我們忙了,也就是說它在功能和可擴展方面都有相當大的局限性,那么下面我們就來看看補間動畫所不能勝任的場景。

注意:上面我在介紹補間動畫的時候都有使用“對View進行操作”這樣的描述,沒錯,補間動畫是只能夠作用在View上的。也就是說,我們可以對一個Button、TextView、甚至是LinearLayout、或者其它任何繼承自View的組件進行動畫操作,但是如果我們想要對一個非View的對象進行動畫操作,抱歉,補間動畫就幫不上忙了。可能有的朋友會感到不能理解,我怎么會需要對一個非View的對象進行動畫操作呢?這里我舉一個簡單的例子,比如說我們有一個自定義的View,在這個View當中有一個Point對象用于管理坐標,然后在onDraw()方法當中就是根據(jù)這個Point對象的坐標值來進行繪制的。也就是說,如果我們可以對Point對象進行動畫操作,那么整個自定義View的動畫效果就有了。顯然,補間動畫是不具備這個功能的,這是它的第一個缺陷。

然后補間動畫還有一個缺陷,就是它只能夠?qū)崿F(xiàn)移動、縮放、旋轉(zhuǎn)和淡入淡出這四種動畫操作,那如果我們希望可以對View的背景色進行動態(tài)地改變呢?很遺憾,我們只能靠自己去實現(xiàn)了。說白了,之前的補間動畫機制就是使用硬編碼的方式來完成的,功能限定死就是這些,基本上沒有任何擴展性可言。

最后,補間動畫還有一個致命的缺陷,就是它只是改變了View的顯示效果而已,而不會真正去改變View的屬性。什么意思呢?比如說,現(xiàn)在屏幕的左上角有一個按鈕,然后我們通過補間動畫將它移動到了屏幕的右下角,現(xiàn)在你可以去嘗試點擊一下這個按鈕,點擊事件是絕對不會觸發(fā)的,因為實際上這個按鈕還是停留在屏幕的左上角,只不過補間動畫將這個按鈕繪制到了屏幕的右下角而已。

也正是因為這些原因,Android開發(fā)團隊決定在3.0版本當中引入屬性動畫這個功能,那么屬性動畫是不是就把上述的問題全部解決掉了?下面我們就來一起看一看。

新引入的屬性動畫機制已經(jīng)不再是針對于View來設計的了,也不限定于只能實現(xiàn)移動、縮放、旋轉(zhuǎn)和淡入淡出這幾種動畫操作,同時也不再只是一種視覺上的動畫效果了。它實際上是一種不斷地對值進行操作的機制,并將值賦值到指定對象的指定屬性上,可以是任意對象的任意屬性。所以我們?nèi)匀豢梢詫⒁粋€View進行移動或者縮放,但同時也可以對自定義View中的Point對象進行動畫操作了。我們只需要告訴系統(tǒng)動畫的運行時長,需要執(zhí)行哪種類型的動畫,以及動畫的初始值和結(jié)束值,剩下的工作就可以全部交給系統(tǒng)去完成了。

既然屬性動畫的實現(xiàn)機制是通過對目標對象進行賦值并修改其屬性來實現(xiàn)的,那么之前所說的按鈕顯示的問題也就不復存在了,如果我們通過屬性動畫來移動一個按鈕,那么這個按鈕就是真正的移動了,而不再是僅僅在另外一個位置繪制了而已。

好了,介紹了這么多,相信大家已經(jīng)對屬性動畫有了一個最基本的認識了,下面我們就來開始學習一下屬性動畫的用法。

核心類基本使用這是一個讓textview

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論