Android實現(xiàn)類似IOS右滑返回的效果(原因分析及解決辦法)
使用類庫SwipeBackLayout
https://github.com/Issacw0ng/SwipeBackLayout
出現(xiàn)的問題:
1. 主Activity返回時黑屏或者返回只是看到桌面背景而沒有看到上一個Activity界面
原因:
使用滑動返回需要在Activity的額主題中聲明android:windowIsTranslucent=true,而該屬性是設置Activity為是否為透明主題,當主Activity采用透明主題時,由于是app Activity棧中的第一個,所以滑動返回時會看到桌面或是黑屏
解決:
主Activity不要打開滑動返回功能(本身也不需要),只在需要滑動返回的Activity使用,可以定義下面的主題,根據(jù)需要給不同的Activity設置主題:
<style name="BaseTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:windowIsTranslucent">true</item> </style> <style name="MainTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:windowIsTranslucent">false</item> </style>
2.另外一個問題發(fā)生在Activity切換時其生命周期上:
當用戶打開新的Activity或是切換到桌面時,回調(diào)如下:onPause->onStop.
這里有一種特殊情況,如新Activity采用了透明主題,那么當前Activity不會回調(diào)onStop
有些時候需要在onStop里面做一些處理,如果使用了透明主題則不會調(diào)用,一個替代方案是在onPause里面去執(zhí)行,當然得注意的是無論是在onStop或是在onPause里面,都不能執(zhí)行太耗時的操作,否則會影響新Activity的啟動
以上所述是小編給大家介紹的Android實現(xiàn)類似IOS右滑返回的效果(原因分析及解決辦法),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關(guān)文章
Android中使用TagFlowLayout制作動態(tài)添加刪除標簽
這篇文章主要介紹了Android中使用TagFlowLayout制作動態(tài)添加刪除標簽的步驟詳解,需要的朋友參考下吧2017-07-07Android開發(fā)vsts?agent支持自定義task過程詳解
這篇文章主要介紹了Android開發(fā)vsts?agent支持自定義task過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04android中使用react-native設置應用啟動頁過程詳解
這篇文章主要介紹了android中使用react-native設置應用啟動頁過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07