天天看點

ActivityA 到 ActivityB 到 ActivityC 出現的問題

       項目中有個情景 3 個activity ,A  到 B ,B 到 C ,C是一個theme為半透明的activity。然後,收到某個事件,B 頁面 finish 掉,問題出現了,此時C頁面不再透明,背景為黑色,無法看到A頁面的情景。

       期間想過其他辦法,一種解決方法是C作為一個布局放入到B頁面,B頁面設定為半透明。這個方法是行的通,但是在有些頁面上不适合,因為改動很大。不過,這次改動也給自己帶來靈感,可不可以B 也設定為半透明,經過實踐,完美解決問題,改動非常小。這個問題困擾很久,苦于改動太大,一直拖延沒有解決。希望對大家有所幫助,對于為什麼可以達到效果,自己還并不是完全了解其中的機制,因為整個情景的生命周期的變化與以前完全一緻。

       設定為透明的代碼

<style name="TransparentActivity_no_anim" >
        <item name="android:windowBackground">@color/translucent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowAnimationStyle">@style/fade_in_out</item>
</style>
           

繼續閱讀