![【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第1頁](http://file4.renrendoc.com/view/1da85ab5da766a9c5b1bc546b0d8e413/1da85ab5da766a9c5b1bc546b0d8e4131.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第2頁](http://file4.renrendoc.com/view/1da85ab5da766a9c5b1bc546b0d8e413/1da85ab5da766a9c5b1bc546b0d8e4132.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第3頁](http://file4.renrendoc.com/view/1da85ab5da766a9c5b1bc546b0d8e413/1da85ab5da766a9c5b1bc546b0d8e4133.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第4頁](http://file4.renrendoc.com/view/1da85ab5da766a9c5b1bc546b0d8e413/1da85ab5da766a9c5b1bc546b0d8e4134.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin_第5頁](http://file4.renrendoc.com/view/1da85ab5da766a9c5b1bc546b0d8e413/1da85ab5da766a9c5b1bc546b0d8e4135.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】Android動畫入門教程之kotlin
前言Google在今年的IO大會上宣布,將Android開發(fā)的官方語言更換為Kotlin,作為跟著Google玩兒Android的人,我們必須盡快了解和使用Kotlin語言。本文將詳細(xì)介紹Android動畫入門之kotlin的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。屬性動畫簡述在手機(jī)上去實(shí)現(xiàn)一些動畫效果算是件比較炫酷的事情,因此Android系統(tǒng)在一開始的時(shí)候就給我們提供了兩種實(shí)現(xiàn)動畫效果的方式,逐幀動畫(frame-by-frameanimation)和補(bǔ)間動畫(tweenedanimation)。逐幀動畫的工作原理很簡單,其實(shí)就是將一個(gè)完整的動畫拆分成一張張單獨(dú)的圖片,然后再將它們連貫起來進(jìn)行播放,類似于動畫片的工作原理。補(bǔ)間動畫則是可以對View進(jìn)行一系列的動畫操作,包括淡入淡出、縮放、平移、旋轉(zhuǎn)四種。
然而自Android3.0版本開始,系統(tǒng)給我們提供了一種全新的動畫模式,屬性動畫(propertyanimation),它的功能非常強(qiáng)大,彌補(bǔ)了之前補(bǔ)間動畫的一些缺陷,幾乎是可以完全替代掉補(bǔ)間動畫了。對于逐幀動畫和補(bǔ)間動畫的用法,我不想再多講,它們的技術(shù)已經(jīng)比較老了,而且網(wǎng)上資料也非常多,那么今天我們這篇文章的主題就是對Android屬性動畫進(jìn)行一次完全解析。
為什么要引入屬性動畫?
Android之前的補(bǔ)間動畫機(jī)制其實(shí)還算是比較健全的,在android.view.animation包下面有好多的類可以供我們操作,來完成一系列的動畫效果,比如說對View進(jìn)行移動、縮放、旋轉(zhuǎn)和淡入淡出,并且我們還可以借助AnimationSet來將這些動畫效果組合起來使用,除此之外還可以通過配置Interpolator來控制動畫的播放速度等等等等。那么這里大家可能要產(chǎn)生疑問了,既然之前的動畫機(jī)制已經(jīng)這么健全了,為什么還要引入屬性動畫呢?
其實(shí)上面所謂的健全都是相對的,如果你的需求中只需要對View進(jìn)行移動、縮放、旋轉(zhuǎn)和淡入淡出操作,那么補(bǔ)間動畫確實(shí)已經(jīng)足夠健全了。但是很顯然,這些功能是不足以覆蓋所有的場景的,一旦我們的需求超出了移動、縮放、旋轉(zhuǎn)和淡入淡出這四種對View的操作,那么補(bǔ)間動畫就不能再幫我們忙了,也就是說它在功能和可擴(kuò)展方面都有相當(dāng)大的局限性,那么下面我們就來看看補(bǔ)間動畫所不能勝任的場景。
注意:上面我在介紹補(bǔ)間動畫的時(shí)候都有使用“對View進(jìn)行操作”這樣的描述,沒錯(cuò),補(bǔ)間動畫是只能夠作用在View上的。也就是說,我們可以對一個(gè)Button、TextView、甚至是LinearLayout、或者其它任何繼承自View的組件進(jìn)行動畫操作,但是如果我們想要對一個(gè)非View的對象進(jìn)行動畫操作,抱歉,補(bǔ)間動畫就幫不上忙了??赡苡械呐笥褧械讲荒芾斫?,我怎么會需要對一個(gè)非View的對象進(jìn)行動畫操作呢?這里我舉一個(gè)簡單的例子,比如說我們有一個(gè)自定義的View,在這個(gè)View當(dāng)中有一個(gè)Point對象用于管理坐標(biāo),然后在onDraw()方法當(dāng)中就是根據(jù)這個(gè)Point對象的坐標(biāo)值來進(jìn)行繪制的。也就是說,如果我們可以對Point對象進(jìn)行動畫操作,那么整個(gè)自定義View的動畫效果就有了。顯然,補(bǔ)間動畫是不具備這個(gè)功能的,這是它的第一個(gè)缺陷。
然后補(bǔ)間動畫還有一個(gè)缺陷,就是它只能夠?qū)崿F(xiàn)移動、縮放、旋轉(zhuǎn)和淡入淡出這四種動畫操作,那如果我們希望可以對View的背景色進(jìn)行動態(tài)地改變呢?很遺憾,我們只能靠自己去實(shí)現(xiàn)了。說白了,之前的補(bǔ)間動畫機(jī)制就是使用硬編碼的方式來完成的,功能限定死就是這些,基本上沒有任何擴(kuò)展性可言。
最后,補(bǔ)間動畫還有一個(gè)致命的缺陷,就是它只是改變了View的顯示效果而已,而不會真正去改變View的屬性。什么意思呢?比如說,現(xiàn)在屏幕的左上角有一個(gè)按鈕,然后我們通過補(bǔ)間動畫將它移動到了屏幕的右下角,現(xiàn)在你可以去嘗試點(diǎn)擊一下這個(gè)按鈕,點(diǎn)擊事件是絕對不會觸發(fā)的,因?yàn)閷?shí)際上這個(gè)按鈕還是停留在屏幕的左上角,只不過補(bǔ)間動畫將這個(gè)按鈕繪制到了屏幕的右下角而已。
也正是因?yàn)檫@些原因,Android開發(fā)團(tuán)隊(duì)決定在3.0版本當(dāng)中引入屬性動畫這個(gè)功能,那么屬性動畫是不是就把上述的問題全部解決掉了?下面我們就來一起看一看。
新引入的屬性動畫機(jī)制已經(jīng)不再是針對于View來設(shè)計(jì)的了,也不限定于只能實(shí)現(xiàn)移動、縮放、旋轉(zhuǎn)和淡入淡出這幾種動畫操作,同時(shí)也不再只是一種視覺上的動畫效果了。它實(shí)際上是一種不斷地對值進(jìn)行操作的機(jī)制,并將值賦值到指定對象的指定屬性上,可以是任意對象的任意屬性。所以我們?nèi)匀豢梢詫⒁粋€(gè)View進(jìn)行移動或者縮放,但同時(shí)也可以對自定義View中的Point對象進(jìn)行動畫操作了。我們只需要告訴系統(tǒng)動畫的運(yùn)行時(shí)長,需要執(zhí)行哪種類型的動畫,以及動畫的初始值和結(jié)束值,剩下的工作就可以全部交給系統(tǒng)去完成了。
既然屬性動畫的實(shí)現(xiàn)機(jī)制是通過對目標(biāo)對象進(jìn)行賦值并修改其屬性來實(shí)現(xiàn)的,那么之前所說的按鈕顯示的問題也就不復(fù)存在了,如果我們通過屬性動畫來移動一個(gè)按鈕,那么這個(gè)按鈕就是真正的移動了,而不再是僅僅在另外一個(gè)位置繪制了而已。
好了,介紹了這么多,相信大家已經(jīng)對屬性動畫有了一個(gè)最基本的認(rèn)識了,下面我們就來開始學(xué)習(xí)一下屬性動畫的用法。
核心類基本使用這是一個(gè)讓textview
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社保合同補(bǔ)充協(xié)議
- 外匯擔(dān)保借款合同
- 技術(shù)轉(zhuǎn)移與知識產(chǎn)權(quán)管理作業(yè)指導(dǎo)書
- 全新旅行社勞動合同
- 資產(chǎn)擔(dān)保合同
- 水務(wù)管理與水質(zhì)保障作業(yè)指導(dǎo)書
- 殯葬服務(wù)合同年
- 城市軌道與公共交通技術(shù)作業(yè)指導(dǎo)書
- 2025年內(nèi)蒙古年貨運(yùn)從業(yè)資格證考試試題
- 2025年貨運(yùn)從業(yè)資格哪里考
- 2024年山東省高考政治試卷真題(含答案逐題解析)
- 煙葉復(fù)烤能源管理
- 應(yīng)收賬款管理
- 食品安全管理員考試題庫298題(含標(biāo)準(zhǔn)答案)
- 執(zhí)業(yè)醫(yī)師資格考試《臨床執(zhí)業(yè)醫(yī)師》 考前 押題試卷絕密1 答案
- 非ST段抬高型急性冠脈綜合征診斷和治療指南(2024)解讀
- 2024年山東濟(jì)寧初中學(xué)業(yè)水平考試地理試卷真題(含答案詳解)
- 社會保險(xiǎn)課件教學(xué)課件
- 撫恤金喪葬費(fèi)協(xié)議書模板
- 訂婚協(xié)議書手寫模板攻略
- 準(zhǔn)備單元 雪地上的“足跡”(教學(xué)設(shè)計(jì))-2023-2024學(xué)年五年級下冊科學(xué)大象版
評論
0/150
提交評論