前言
首次通過右滑來返回到上一個頁面的操作是在 IOS7上出現(xiàn)。到目前android應(yīng)用上支持這種操作的依然不多。分析其主要原因應(yīng)該是android已有實(shí)體的返回按鍵,這樣的功能變得不重要,但我覺得有這樣的功能便于單手操作,能提升app的用戶體驗(yàn),特別是從ios轉(zhuǎn)到android的用戶。寫這篇博文希望可以對大家有所幫助,希望自己的app上有滑動返回功能的可以參考下。
原理的簡單描述
Android系統(tǒng)里有很多滑動相關(guān)的API和類,比如ViewDragHelper就是一個很好的滑動助手類。首先設(shè)置Window的背景為透明,再通過ViewDragHelper對Activity上DecorView的子view進(jìn)行滑動,當(dāng)滑動到一定距離,手指離開后就自動滑到最右側(cè),然后finish當(dāng)前的activity,這樣即可實(shí)現(xiàn)滑動返回效果。為了能夠 “全局的”、“聯(lián)動的” 實(shí)現(xiàn)滑動返回效果,在每個activity的DecorView下插入了SwipeBackLayout,當(dāng)前activity滑動和下層activity的聯(lián)動都在該類中完成。
效果圖
布局圖
實(shí)現(xiàn)主要類:
SwipeBackActivity //滑動返回基類
SwipeBackLayout //滑動返回布局類
SwipeBackLayoutDragHelper //修改ViewDragHelper后助手類
TranslucentHelper //代碼中修改透明或者不透明的助手類
##代碼層面的講解
一. 設(shè)置activity為透明、activity跳轉(zhuǎn)動畫(TranslucentHelper 講解)
這個看起來很簡單,但如果要兼容到API16及以下,會遇到過一個比較麻煩的頁面切換動畫問題:
1.1、通過activity的主題style進(jìn)行設(shè)置
<item name="android:windowBackground">@color/transparent</item> <item name="android:windowIsTranslucent">true</item>``` **遇到問題:**如果在某個activity的主題style中設(shè)置了android:windowIsTranslucent屬性為true,那么該activity切換動畫與沒設(shè)置之前是不同的,有些手機(jī)切換動畫會變得非常跳。所以需要自定義activity的切換動畫。 接下來我們會想到通過主題style里的windowAnimationStyle來設(shè)置切換動畫
本文名稱:Android仿考拉全局滑動返回及聯(lián)動效果的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://aaarwkj.com/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)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容