亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Bamboy右滑關閉2.0,無需透明主題的右滑關閉(附源碼)

_Dreams / 1490人閱讀

摘要:右滑關閉簡介很多中都會有右滑關閉功能,尤其是在全面屏時代更顯得尤為重要,但是,禁止非全屏的使用透明主題,否則會引發(fā)這導致了體驗最優(yōu)的右滑關閉方案則不能再使用,除非有微信那種黑科技。

SlidingShut 右滑關閉 簡介

很多APP中都會有右滑關閉功能,
尤其是在全面屏時代更顯得尤為重要,
但是,
Android 8.0禁止非全屏的Activity使用透明主題,
否則會引發(fā):

Only fullscreen opaque activities can request orientation

這導致了體驗最優(yōu)的右滑關閉方案則不能再使用,
除非有微信那種黑科技。

手機QQ的右滑關閉雖然不需要透明主題,
但是沒有實時反饋,
體驗巨差,
那么就沒有其他的選擇了嗎?

于是我總結了一下,
目前最多的有兩種右滑方案:

1、以微信為代表的透明方案
優(yōu)點1:  
界面移動跟隨手指,
實時反饋。

優(yōu)點2:
擬物化,
層級明確,
視覺體驗好。
———————————
缺點1:
由于涉及到滑動速度,
要滑多快才會觸發(fā)關閉,
這閾值永遠是個未知數,
再加上使用右滑關閉的App越來越多,
每個App的這個閾值都不一樣,
無形中增加了關閉失敗的幾率
以及用戶的思考成本。

缺點2:
需要透明主題,
不僅有可能會擾亂上一個Activity的生命周期,
而且SDK 27中非全屏Activity不可用,
否側會crash。

2、以QQ為代表的滑動方向計算
優(yōu)點:  
不需要透明主題
———————————
缺點1:
沒有任何反饋,
用戶無法知道當前手勢是否可以觸發(fā)關閉,
誤觸率高。

缺點2:
反應遲鈍,
由于需要手勢完成才能獲得完整手勢,
所以手指抬起后才會觸發(fā)關閉,
雖然微信也是抬起后關閉,
但是視覺上和心理上卻不存在此缺點。
不過有個稍優(yōu)點的方案,
實時計算手勢的,
反應靈敏了許多,
但卻會增加誤觸幾率。

缺點3:
沒有層級感,
更不擬物化。

那么有沒有其他的方案,
既不需要透明主題,
又能實時反饋?

當然,
既然我寫了這篇帖子,
那么當然會給大家提供一種方案。

3:Bamboy右滑關閉方案
優(yōu)點1:  
不需要透明主題。

優(yōu)點2:
界面跟隨手指,
實時反饋,
會不會關閉用戶一目了然。

優(yōu)點3:
擬物化,
視覺體驗好。
———————————
缺點:
沒有微信的那種方案層級感強。

廢話不多說,
這就給大家展示一下效果吧:

一、抬起模式

顧名思義
滑動過程中圓環(huán)進度條跟隨手指而充盈
當圓環(huán)圓滿后
抬起手指后才會觸發(fā)finish();

想要使用抬起模式
調用以下代碼即可:

setUpFinish(true);  
(注:默認為true,即默認抬起模式)

二、即刻模式

與抬起模式相對應
只要圓環(huán)圓滿就觸發(fā)finish();
相比來說
即刻模式更敏捷
但卻存在誤觸的情況
選擇適合自己的

想要使用抬起模式
調用以下代碼即可:

setUpFinish(false);  

三、兼容finish()被攔截的情況

當Activity中finish()方法被攔截時
已經移動的界面自動歸位
歸位后自動重新開啟右滑關閉

四、指定滑動View

看了上面幾個動圖
心細的朋友可能發(fā)現了
在界面移動時
Activity左上角出現了一個白條條
這是因為TitleBar的顏色和界面的顏色不一致導致的
雖說無傷大雅
但作為一個視覺主義的程序員
這個小細節(jié)也是要優(yōu)化的
所以我提供了只移動指定View功能
就是說不會整個界面都移動
你讓他動的才會動

想要指定滑動View
調用以下代碼即可:

setMoveView(rootView);  

五、圓環(huán)顏色自定義

不管是出于性能
還是出于可擴展性
這個圓環(huán)進度條是完全用Canvas畫出來的
所以顏色當然是支持自定義的
比如界面背景色不是白色
而是主題色時

想要指定圓環(huán)顏色
調用以下代碼即可:

int color = ContextCompat.getColor(context, R.color.white);  
setProgressColor(color);  

塵少老規(guī)矩,附源碼:
https://github.com/Bamboy1203...

也可以先掃碼下載apk安裝體驗:

同時歡迎加入技術探討QQ群:569614530

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/74174.html

相關文章

  • 左滑右滑的樂趣

    摘要:左滑右滑你不再是一個人無論你是一個程序猿還是一個程序媛,每天干的事除了還是,代碼不能解決的問題什么問題自己心里還沒點數嘛,探探能幫你解決。 左滑 右滑 你不再是一個人 無論你是一個程序猿還是一個程序媛,每天干的事除了coding還是coding,代碼不能解決的問題(什么問題自己心里還沒點abcd數嘛),探探能幫你解決。最近網上特流行一款交友軟件叫探探(據說是yp軟件)。作為探探曾經的一...

    Muninn 評論0 收藏0

發(fā)表評論

0條評論

_Dreams

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<