北(běi)京軟件(jiàn)開(kāi)發公司使用(yòng)轉↓δ<γ換API創建Android應用(yòng)程序動畫(huà)_北(b•¶' ěi)京軟件(jiàn)開(kāi)發公司
通(tōng)過謝(xiè)爾蓋格裡(→σlǐ)戈裡(lǐ)耶夫2015年(nián)5月(yuè)21日(rì)÷←♣
使用(yòng)轉換API創建Android應用(yòng)程序動₽"♣畫(huà)
動畫(huà)創建Android
盡管高(gāo)需求和(hé)移動應用®♥(yòng)程序動畫(huà)盛行(xín↔↕g),開(kāi)發商指出,創建動畫(huà)的( ₹de)過程Android操作(zuò)系統一(yī)直是(sh"©★ì)一(yī)個(gè)挑戰。而iOS一(yī)直使用(yò↓♥×ng)動畫(huà)提供了(le)有(yǒu)用(yòng)的←✘(de)工(gōng)具,幫助優化(huà)解決方案£₹為(wèi)Android開(kāi)發人(rén)員(yuán)的(≈ <de)工(gōng)作(zuò)是(sh§¶ì)相(xiàng)對(duì)較新的(de)。
但(dàn)顯然這(zhè)些(xiē)動畫(huà)工(gōn≈Ω×g)具,大(dà)大(dà)簡化(huà)了(le)程序員(yuán)的(de©••↑)生(shēng)活。這(zhè)些(xiē)工(gōng≥≤)具方便創建各種應用(yòng)程序動畫(huà)。而動畫(huà)的λ♥(de)個(gè)人(rén)屏幕,開(kāi)發者可(kě)以★₽✘"激活所謂的(de)場(chǎng)景,而轉換自(zì)動生(sh>↔ēng)成過渡API。而這(zhè)隻是(shì)冰山(shān)一("☆↔yī)角的(de)可(kě)能(néng)性!信息我将分(fēn)享在βδ這(zhè)裡(lǐ)一(yī)定會(huì)為(wèi )世界上(shàng)較流行(xíng)的(deφ<")移動操作(zuò)系統開(kāi)發應用(yòng)程序的π'₹(de)人(rén)會(huì)有(yǒu)用(yò£εng)的(de)。
轉換API:它是(shì)如(rú)何工(gōng)作(zuò)的(♣σ±₽de)?
即使在Android 4.0,有(yǒu)動畫(huà)問(÷δ÷wèn)題早日(rì)解決:對(duì)于€↓ViewGroup旗animatelayoutchangαπ>>e。然而,這(zhè)個(gè)工(gōng)具是(shì)不≈✔↕(bù)夠靈活,無法為(wèi)開(kāσ$&♠i)發者提供了(le)完整的(de)控制(z↓¥₩σhì)轉換。但(dàn)從(cóng)Android 4.4 KitK÷∏δat和(hé)超越,實現(xiàn)了(lε>↔↔e)轉換的(de)API。轉換API也(yě)存在支持庫,所以它可∑(kě)以被用(yòng)來(lái)創建與Android操作(zu±$ò)系統的(de)任何設備幾乎動畫(huà)。
在KitKat過渡API等概念,場(chǎng)景之間(jiān)的γ¶γ≥(de)過渡出現(xiàn)的(de)場(chǎng)景。為(wèi)了(le↕<)确定根布局,介紹了(le)場(chǎng)景的(de)根。場(chǎn♦ε∏♦g)景中的(de)所有(yǒu)變化(huà)發生(shēng)在現(§☆♣xiàn)場(chǎng)根。同時(shí→♣),現(xiàn)場(chǎng)本身(shēn)就(jiù)是 ±☆(shì)在ViewGroup包裝,描述自'<(zì)己的(de)狀态和(hé)視(shì)圖對(du±<≥γì)象的(de)所有(yǒu)狀态。過渡是(shì)一(₹↓φyī)種機(jī)制(zhì),允許讀(dú)π§取參數(shù)看(kàn),這(zhè)之間(✔₽πjiān)的(de)場(chǎng)景變化(huà),并生(shēng)∏≥λ✘成動畫(huà)使變平滑。
在KitKat過渡框架API提供以下(xià)功♠∏σ能(néng)來(lái)創建動畫(huà):
組級動畫(huà):動畫(huà)視(shì)圖對(duì)象的(de)δ★₽整個(gè)層次結構的(de)能(néng)力。開(kāi↔≈λ)發商點ViewGroup和(hé)動畫(huà)自(zì)動适用(yγ© òng)于它的(de)每一(yī)個(gè)元素
過渡動畫(huà)
內(nèi)置的(de)動畫(huà):簡單的(de)動畫(huà), →如(rú)溶解,變暗(àn),調整大(dà)小 ↓€(xiǎo),移動,等等。
資源文(wén)件(jiàn)的(de€¥±)支持:開(kāi)發者可(kě)以創建資源文(w✘♣&én)件(jiàn)的(de)動畫(huà),而無需®'編寫代碼
生(shēng)命周期回調:提供在播放(fàng)控制(zhì)所有(yǒuβ&>)必要(yào)的(de)方法
盡管所有(yǒu)的(de)優點,該方法也(yě)有(yǒuγα↕≤)一(yī)定的(de)局限性:
它可(kě)能(néng)會(huì)應用(↔π≤yòng)于較複雜(zá)的(de)圖形或texturevπ∑₹iew,不(bù)在UI線程工(gōng)作(z♠♦≈'uò)
adapterview,如(rú)列表,當你(∑€nǐ)的(de)生(shēng)命個(gè♥≥ε←)體(tǐ)元素從(cóng)列表
偶爾,有(yǒu)問(wèn)題的(de)同步當你(nǐ)嘗₹α✘¶試調整一(yī)個(gè)TextView:字體(tǐ)會(huì) ≥顯示下(xià)一(yī)個(gè)場(chǎng)景中其他( ≠βtā)對(duì)象的(de)改變之前完成
然而,這(zhè)些(xiē)限制(zhì)不(bù)是(shì)很(hδ →ěn)明(míng)顯。在實踐中,情況你(nǐ)可(kě)能(¶≥néng)需要(yào)将一(yī)個(gè)動畫(huà)的(de)圖εφ♦形,
中間(jiān)值是(shì)自(zì)動生(shē ←&ng)成的(de),這(zhè)就(jiù)是(shì)為(λ"σwèi)什(shén)麽在我們的(de)例子(zǐ)中的(de)顔色逐漸由∞¶™∑紅(hóng)變藍(lán)。這(zhè)種方↑¶φ法開(kāi)辟了(le)機(jī)會(huì),創造了(₩®≥¥le)各種自(zì)定義動畫(huà)和(hé)過渡↕±:想象的(de)開(kāi)發商是(shì)僅限•σ♦✔于一(yī)個(gè)特定的(de)項目要(yào)求。
你(nǐ)為(wèi)什(shén)麽要(yào)在乎呢(ne)?
快(kuài)速和(hé)簡單的(de)創建動畫(huà)的(de)過•π↔程中增加了(le)驅動的(de)移動應用(yòng)程序的(d₹↕✘e)開(kāi)發。azoft團隊非常熱(rè)衷轉換API,¥≤≥我們已經利用(yòng)這(zhè)種方法在 ✘我們的(de)項目。創建動畫(huà)使×<₹用(yòng)場(chǎng)景的(de)能(néngΩ£€)力,節省了(le)時(shí)間(jiān÷≥↕€)和(hé)精力,有(yǒu)助于我們的(de)開(k¶βāi)發商和(hé)客戶,誰能(néng)獲得(de)更快(♥↓£©kuài)的(de)結果。
告訴
北(běi)京軟件(jiàn)開(kāi)發公司你(nǐ)的(de)經驗創建動畫(huà)的(de)Android↔σ♠£。你(nǐ)用(yòng)過渡的(de)API?這(zπ₽<hè)種方法的(de)優點和(hé)缺點是(shì)什(shén)麽"∑?你(nǐ)用(yòng)什(shén)麽工(gσ↔ōng)具來(lái)創建移動應用(yòng)Ω'程序動畫(huà)?