Android仿考拉全局滑動(dòng)返回及聯(lián)動(dòng)效果的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營(yíng)銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

首次通過(guò)右滑來(lái)返回到上一個(gè)頁(yè)面的操作是在 IOS7上出現(xiàn)。到目前android應(yīng)用上支持這種操作的依然不多。分析其主要原因應(yīng)該是android已有實(shí)體的返回按鍵,這樣的功能變得不重要,但我覺得有這樣的功能便于單手操作,能提升app的用戶體驗(yàn),特別是從ios轉(zhuǎn)到android的用戶。寫這篇博文希望可以對(duì)大家有所幫助,希望自己的app上有滑動(dòng)返回功能的可以參考下。


原理的簡(jiǎn)單描述


Android系統(tǒng)里有很多滑動(dòng)相關(guān)的API和類,比如ViewDragHelper就是一個(gè)很好的滑動(dòng)助手類。首先設(shè)置Window的背景為透明,再通過(guò)ViewDragHelper對(duì)Activity上DecorView的子view進(jìn)行滑動(dòng),當(dāng)滑動(dòng)到一定距離,手指離開后就自動(dòng)滑到最右側(cè),然后finish當(dāng)前的activity,這樣即可實(shí)現(xiàn)滑動(dòng)返回效果。為了能夠 “全局的”、“聯(lián)動(dòng)的” 實(shí)現(xiàn)滑動(dòng)返回效果,在每個(gè)activity的DecorView下插入了SwipeBackLayout,當(dāng)前activity滑動(dòng)和下層activity的聯(lián)動(dòng)都在該類中完成。


效果圖

布局圖

實(shí)現(xiàn)主要類:


SwipeBackActivity //滑動(dòng)返回基類


SwipeBackLayout //滑動(dòng)返回布局類


SwipeBackLayoutDragHelper  //修改ViewDragHelper后助手類


TranslucentHelper //代碼中修改透明或者不透明的助手類


##代碼層面的講解


一. 設(shè)置activity為透明、activity跳轉(zhuǎn)動(dòng)畫(TranslucentHelper 講解)


這個(gè)看起來(lái)很簡(jiǎn)單,但如果要兼容到API16及以下,會(huì)遇到過(guò)一個(gè)比較麻煩的頁(yè)面切換動(dòng)畫問題:


1.1、通過(guò)activity的主題style進(jìn)行設(shè)置


<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>```

**遇到問題:**如果在某個(gè)activity的主題style中設(shè)置了android:windowIsTranslucent屬性為true,那么該activity切換動(dòng)畫與沒設(shè)置之前是不同的,有些手機(jī)切換動(dòng)畫會(huì)變得非常跳。所以需要自定義activity的切換動(dòng)畫。
接下來(lái)我們會(huì)想到通過(guò)主題style里的windowAnimationStyle來(lái)設(shè)置切換動(dòng)畫

本文名稱:Android仿考拉全局滑動(dòng)返回及聯(lián)動(dòng)效果的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://www.muchs.cn/article46/ihseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站電子商務(wù)、服務(wù)器托管、定制開發(fā)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)