Android手機都會有返回鍵,無論是實體鍵,仍是虛擬鍵。Android用戶主要也都是經過這個返回鍵操控頁面返回方式的,不比IOS逼格甚高的只保留一個操做鍵。這種方式是最廣泛的返回方式,還有一種也是比較常見的,那就是頁面內部本身響應。絕大多數APP每一個頁面的設計圖頂部左側都會有一個返回鍵圖標,偶爾也有奇葩的設計放在底部左側,點擊這個圖標即finish掉當前頁面。簡單的介紹完了最多見的兩種方式,下面爲你們介紹兩種更友好的交互方式。 android
拿你們比較經常使用的三款社交軟件的交互來講。騰訊微博的返回方式除去上述說的兩種,還有一種是這樣的,當手勢落在頁面的左側,隨手勢滑動頁面也跟着滑動。當手指擡起時,X座標大於屏幕寬度的一半時,頁面會繼續向右側滑進而finish當前頁面;若是X座標仍在屏幕的左側的話,頁面是會側滑到原先的位置,還原當前頁面。若是有描述不清或者不大明白的地方,請打開手機上的騰訊微博本身體驗一下。 git
還有一種交互方式,就是目前QQ、新浪微博採用的,交互是這樣的。手指落下的位置能夠隨意,可是當手指擡起時,只要能知足兩個條件,當前頁面會自動finish的。 github
條件1、對應X座標的位移要大於某個閥值,大概是屏幕寬度的1/3的樣子(X座標橫向向右增大) 微信
條件2、Y座標的位移的絕對值小於某個閥值,大概在20dp左右,主要爲了防止Y位移的干擾(Y座標縱向向下增大) spa
若有不清,打開兩者中任一體驗一下。 .net
下面我就爲你們介紹這兩種比較新鮮的交互方式的實現。爲了方便,我把二者的功能都抽象到了基類BaseActivity中了,若是哪一個頁面須要添加這兩種交互方式,直接繼承就能實現功能了。 設計
交互一實現,封裝的很好,使用很簡單 繼承
交互二實現 ip
看下效果: get
若有興趣和需求的同窗,請到Github上面 clone。
源碼地址:https://github.com/JackCho/AndroidSwipBack
若是以爲對你有所幫助,歡迎你們訂閱個人微信公衆帳號——Android乾貨分享(ID:android_share)。下面是微信的二維碼,爲你提供及時高質的Android乾貨。技術交流QQ羣:318588906,歡迎你們加羣,共同探討下Android和Java技術,一塊兒壯大咱們的微信乾貨分享社區。