Android實(shí)現(xiàn)類似IOS右滑返回的效果(原因分析及解決辦法)
使用類庫(kù)SwipeBackLayout
https://github.com/Issacw0ng/SwipeBackLayout
出現(xiàn)的問(wèn)題:
1. 主Activity返回時(shí)黑屏或者返回只是看到桌面背景而沒(méi)有看到上一個(gè)Activity界面
原因:
使用滑動(dòng)返回需要在Activity的額主題中聲明android:windowIsTranslucent=true,而該屬性是設(shè)置Activity為是否為透明主題,當(dāng)主Activity采用透明主題時(shí),由于是app Activity棧中的第一個(gè),所以滑動(dòng)返回時(shí)會(huì)看到桌面或是黑屏
解決:
主Activity不要打開(kāi)滑動(dòng)返回功能(本身也不需要),只在需要滑動(dòng)返回的Activity使用,可以定義下面的主題,根據(jù)需要給不同的Activity設(shè)置主題:
<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.另外一個(gè)問(wèn)題發(fā)生在Activity切換時(shí)其生命周期上:
當(dāng)用戶打開(kāi)新的Activity或是切換到桌面時(shí),回調(diào)如下:onPause->onStop.
這里有一種特殊情況,如新Activity采用了透明主題,那么當(dāng)前Activity不會(huì)回調(diào)onStop
有些時(shí)候需要在onStop里面做一些處理,如果使用了透明主題則不會(huì)調(diào)用,一個(gè)替代方案是在onPause里面去執(zhí)行,當(dāng)然得注意的是無(wú)論是在onStop或是在onPause里面,都不能執(zhí)行太耗時(shí)的操作,否則會(huì)影響新Activity的啟動(dòng)
以上所述是小編給大家介紹的Android實(shí)現(xiàn)類似IOS右滑返回的效果(原因分析及解決辦法),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Android自定義view實(shí)現(xiàn)滾動(dòng)選擇控件詳解
最近在開(kāi)發(fā)中需要實(shí)現(xiàn)滾動(dòng)進(jìn)行類別的選擇,也就是我們所說(shuō)的滾動(dòng)選擇器,這里我們自定義來(lái)實(shí)現(xiàn)這個(gè)功能,這篇文章主要介紹了Android自定義view實(shí)現(xiàn)滾動(dòng)選擇控件2022-11-11
自定義ListView實(shí)現(xiàn)拖拽ListItem項(xiàng)交換位置(附源碼)
本文要實(shí)現(xiàn)的是拖拽ListView的Item項(xiàng),在布局方面還是用基于布局泵LayoutInflater來(lái)從不同的Layout模板拿到不同的布局然后將view返回,感興趣的朋友可以了解下哈2013-06-06
android開(kāi)發(fā)教程之系統(tǒng)資源的使用方法 android資源文件
這篇文章主要介紹了android中的系統(tǒng)資源的使用方法,包括顏色資源 、字符串資源、尺寸資源、XML資源文件,需要的朋友可以參考下2014-02-02
Android Messenger實(shí)現(xiàn)進(jìn)程間雙向通信
這篇文章主要為大家詳細(xì)介紹了Messenger實(shí)現(xiàn)進(jìn)程間雙向通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Android調(diào)用google地圖生成路線圖實(shí)現(xiàn)代碼
Android程序調(diào)用本機(jī)google地圖并且傳遞起始和終點(diǎn)位置生成路線圖,有需要的朋有可以參考下,或許本文對(duì)你有所幫助,好了話不多說(shuō),看代碼2013-02-02
在android開(kāi)發(fā)中進(jìn)行數(shù)據(jù)存儲(chǔ)與訪問(wèn)的多種方式介紹
很多時(shí)候我們的軟件需要對(duì)處理后的數(shù)據(jù)進(jìn)行存儲(chǔ)或再次訪問(wèn),Android為數(shù)據(jù)存儲(chǔ)提供了多種方式,首先給大家介紹使用文件如何對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),感興趣的朋友可以了解下哈2013-06-06
Android編程心得分享——JSON學(xué)習(xí)過(guò)程
在我們初步學(xué)習(xí)JSON時(shí)我們都知道JSON作為現(xiàn)在比較流行的數(shù)據(jù)交換格式,有著它的許多優(yōu)點(diǎn),這里將我學(xué)習(xí)JSON的過(guò)程記錄如下2013-06-06
Android 不同Activity間數(shù)據(jù)的傳遞 Bundle對(duì)象的應(yīng)用
本篇文章小編為大家介紹,Android 不同Activity間數(shù)據(jù)的傳遞 Bundle對(duì)象的應(yīng)用。需要的朋友參考下2013-04-04

