您好,登錄后才能下訂單哦!
使用類庫SwipeBackLayout
https://github.com/Issacw0ng/SwipeBackLayout
出現的問題:
1. 主Activity返回時黑屏或者返回只是看到桌面背景而沒有看到上一個Activity界面
原因:
使用滑動返回需要在Activity的額主題中聲明android:windowIsTranslucent=true,而該屬性是設置Activity為是否為透明主題,當主Activity采用透明主題時,由于是app Activity棧中的第一個,所以滑動返回時會看到桌面或是黑屏
解決:
主Activity不要打開滑動返回功能(本身也不需要),只在需要滑動返回的Activity使用,可以定義下面的主題,根據需要給不同的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.另外一個問題發生在Activity切換時其生命周期上:
當用戶打開新的Activity或是切換到桌面時,回調如下:onPause->onStop.
這里有一種特殊情況,如新Activity采用了透明主題,那么當前Activity不會回調onStop
有些時候需要在onStop里面做一些處理,如果使用了透明主題則不會調用,一個替代方案是在onPause里面去執行,當然得注意的是無論是在onStop或是在onPause里面,都不能執行太耗時的操作,否則會影響新Activity的啟動
以上所述是小編給大家介紹的Android實現類似IOS右滑返回的效果(原因分析及解決辦法),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。