屏幕切換指的是在同一個(gè)Activity內(nèi)屏幕間的切換,ViewFlipper繼承了Framelayout類,ViewAnimator類的作用是為FrameLayout里面的View切換提供動(dòng)畫效果。如下動(dòng)圖:
該類有如下幾個(gè)和動(dòng)畫相關(guān)的函數(shù):
setInAnimation:設(shè)置View進(jìn)入屏幕時(shí)候使用的動(dòng)畫,該函數(shù)有兩個(gè)版本,一個(gè)接受單個(gè)參數(shù),類型為android.view.animation.Animation;一個(gè)接受兩個(gè)參數(shù),類型為Context和int,分別為Context對象和定義Animation的resourceID。
setOutAnimation: 設(shè)置View退出屏幕時(shí)候使用的動(dòng)畫,參數(shù)setInAnimation函數(shù)一樣。
showNext: 調(diào)用該函數(shù)來顯示FrameLayout里面的下一個(gè)View。
showPrevious: 調(diào)用該函數(shù)來顯示FrameLayout里面的上一個(gè)View。
下面通過坐標(biāo)軸的形式為大家演示動(dòng)畫實(shí)現(xiàn)方式:
由上圖可知,以屏幕左下角為數(shù)學(xué)坐標(biāo)軸的原點(diǎn),屏幕下邊框?yàn)閄軸,左邊框?yàn)閅軸,當(dāng)前屏幕顯示為圖二,如果要看圖一,則需要圖一由左至右(相對屏幕而言)進(jìn)入屏幕,圖一X軸初始坐標(biāo)為-100%p,移動(dòng)到屏幕位置時(shí)圖一X軸變?yōu)?(因?yàn)楸敬窝菔緸闄M向滑動(dòng),所以不涉及Y軸);同理圖三要進(jìn)入屏幕,則需由右至左,X軸由100%p變?yōu)?.清楚了坐標(biāo)位置,我們要實(shí)現(xiàn)四種動(dòng)畫效果,就會(huì)很簡單,下面代碼(需建立在res目錄下自建的anim文件夾下)演示四種動(dòng)畫效果:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26