下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android可自定義神奇動(dòng)效的卡片切換視圖實(shí)例
前言面對(duì)眾多卡片層疊效果,我們的產(chǎn)品童鞋也突發(fā)奇想,搞出了另一種卡片層疊切換展示的交互,而且產(chǎn)品狗們居然要求多做幾種動(dòng)效給他們看,好讓他們選擇,這簡(jiǎn)直就是要搞事情啊,whatareyou弄啥咧?!“哥哥我做不到啊啊呸”,做為一名有節(jié)操的程序猿,自然是不能說(shuō)出這么沒(méi)有出息的話(huà),哥就滿(mǎn)足你們,于是,出了個(gè)可自定義動(dòng)效的卡片切換視圖,效果如下所示思路首先,要展示出卡片層疊的視覺(jué)效果。在這里,我們通過(guò)方塊的縮放大小差異以及在Y方向上的位置差異,來(lái)展現(xiàn)這種視覺(jué)效果。其次,要能夠方便的定義卡片視圖內(nèi)容。我們通過(guò)都很熟悉的設(shè)置Adapter的方式來(lái)構(gòu)建內(nèi)容視圖。最后,要能夠自定義動(dòng)效。我們通過(guò)定義一個(gè)由0到1的ValueAnimator,即每個(gè)動(dòng)畫(huà)的過(guò)程,其實(shí)就是該ValueAnimator在一個(gè)動(dòng)畫(huà)周期內(nèi),從0變化到1的過(guò)程,0表示動(dòng)畫(huà)剛開(kāi)始,1表示動(dòng)畫(huà)結(jié)束了,0.5則表示這一輪動(dòng)畫(huà)已經(jīng)執(zhí)行到了一半。這樣,通過(guò)轉(zhuǎn)換器以及插值器,我們就可以根據(jù)ValueAnimator實(shí)時(shí)的值,來(lái)設(shè)置當(dāng)前正在執(zhí)行動(dòng)畫(huà)的卡片應(yīng)該有的“樣子”。總覽我們給出三種基本的動(dòng)畫(huà)模式并通過(guò)Helper類(lèi)來(lái)處理所有的動(dòng)畫(huà)邏輯,以及Adapter來(lái)生成卡片視圖在onMeasure時(shí)根據(jù)卡片寬高比來(lái)設(shè)置卡片的尺寸,在此請(qǐng)注意,當(dāng)前情況下卡片寬度與整體容器寬度一致,后續(xù)通過(guò)自定義的方式,通過(guò)縮放來(lái)產(chǎn)生卡片的視覺(jué)效果。那么如此之后,自然Helper中就保存了視圖的主要數(shù)據(jù)與參數(shù)細(xì)節(jié)那么,動(dòng)畫(huà)到底是如何實(shí)現(xiàn)的,以及如何自定義的呢,我們以通用動(dòng)畫(huà)為例,來(lái)看看動(dòng)畫(huà)的主要流程首先,在ValueAnimator更新的時(shí)候,獲得當(dāng)前的動(dòng)畫(huà)系數(shù),依次來(lái)執(zhí)行動(dòng)畫(huà)接著,對(duì)需要執(zhí)行動(dòng)畫(huà)的卡片,執(zhí)行動(dòng)畫(huà),以ANIM_TYPE_FRONT動(dòng)畫(huà)模式為例,當(dāng)選中的卡片移動(dòng)到最前的時(shí)候,原來(lái)在這張卡片之前的所有卡片,都要向后移動(dòng)一位,來(lái)留出第一個(gè)的位置最后,通過(guò)轉(zhuǎn)換器,對(duì)卡片進(jìn)行自定義動(dòng)畫(huà)處理而轉(zhuǎn)換器的具體實(shí)現(xiàn)則以DefaultCommonTransformer為例對(duì)于向第一位移動(dòng)的選中卡片,也是同理,只不過(guò)是根據(jù)該卡片對(duì)應(yīng)的轉(zhuǎn)換器來(lái)進(jìn)行自定義動(dòng)畫(huà)的轉(zhuǎn)換。最后的效果,就像演示圖中第一次點(diǎn)擊,圖片向前翻轉(zhuǎn)到第一位的效果一樣。對(duì)于產(chǎn)品狗突如其來(lái)的想法,咱們程序猿不善于口水仗的,就只能用代碼來(lái)讓他們來(lái)服氣了。畢竟,大家還都是伐木累嘛,哈哈。當(dāng)實(shí)現(xiàn)某個(gè)東西遇到困難時(shí),不妨想想Android系統(tǒng)自身的一些實(shí)現(xiàn)方式,比如參考List
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版合同服裝聯(lián)營(yíng)3篇
- 房屋買(mǎi)賣(mài)合同貸款版示例3篇
- 工程外包合同參考3篇
- 文化傳播平臺(tái)建設(shè)合同3篇
- 工業(yè)煤油銷(xiāo)售合同協(xié)議3篇
- 教育培訓(xùn)服務(wù)勞動(dòng)合同模板集3篇
- 新版鏟車(chē)租賃合同協(xié)議書(shū)3篇
- 居民創(chuàng)新方案3篇
- 新版律師聘用合同范本3篇
- 安裝工程合同中的工程變更處理3篇
- 大學(xué)英語(yǔ)聽(tīng)說(shuō)一智慧樹(shù)知到期末考試答案章節(jié)答案2024年西北政法大學(xué)
- 《中醫(yī)適宜技術(shù)》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 管理英語(yǔ)3-國(guó)開(kāi)機(jī)考答案
- 國(guó)開(kāi)機(jī)考答案-工程力學(xué)(本)(閉卷)
- 碳交易與碳金融基礎(chǔ) 課件全套 第1-9章 碳交易市場(chǎng)形成背景-碳金融工具與創(chuàng)新
- 常見(jiàn)的排序算法-冒泡排序 課件 2023-2024學(xué)年浙教版(2019)高中信息技術(shù)選修1
- 中學(xué)教師基本功培訓(xùn)講座
- 糖尿病視網(wǎng)膜病變臨床診療指南(2022)解讀
- IQC來(lái)料檢驗(yàn)單范本
- (正式版)YBT 6171-2024 鋼鐵企業(yè)鏈篦機(jī)-回轉(zhuǎn)窯球團(tuán)工藝煙氣脫硝技術(shù)規(guī)范
- 2021-2022學(xué)年遼寧省大連市沙河口區(qū)中心小學(xué)部編版五年級(jí)上冊(cè)期末教學(xué)質(zhì)量監(jiān)測(cè)語(yǔ)文試卷(原卷版)
評(píng)論
0/150
提交評(píng)論