使用右滑退出界面时,onRestart()方法失效

来源:互联网 发布:linux proc 内存 编辑:程序博客网 时间:2024/06/16 06:21

android开发时,当我们使用 SlidingLayout(点击跳转)控件时,必须设置Activity的界面为透明色,否则会有白色背景或者黑色背景闪现的情况发生

  <!--右滑返回并退出Activity会有一个白色的背景出现,需要设置透明色-->    <style name="AppTheme.Slide" parent="@style/AppTheme">        <item name="android:windowBackground">@android:color/transparent</item>        <item name="android:windowIsTranslucent">true</item>        <item name="android:windowAnimationStyle">@style/AppTheme.Slide.Animation</item>    </style>    <style name="AppTheme.Slide.Animation" parent="@android:style/Animation.Activity">        <item name="android:activityOpenEnterAnimation">@anim/anim_slide_in</item>        <item name="android:activityOpenExitAnimation">@anim/anim_slide_out</item>        <item name="android:activityCloseEnterAnimation">@anim/anim_slide_in</item>        <item name="android:activityCloseExitAnimation">@anim/anim_slide_out</item>    </style>

其中

<item name="android:windowIsTranslucent">true</item>

的配置为true,设置了背景为透明,导致onRestart()失效。

即ActivityA=》ActivityB按下了返回键,或者调用了finish()方法

  1. Android:windowIsTranslucent 为true时,背景透明,onRestart()不会被调用
  2. Android:windowIsTranslucent 为false时,背景不透明,onRestart()会被调用

其中 anim_slide_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:duration="300"        android:fromXDelta="100%p"        android:toXDelta="0" /></set>

anim_slide_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:duration="300"        android:fromXDelta="0"        android:toXDelta="100%p" /></set>

如果需要了解SlidingLayout的使用方法,可以查看我的另一篇博客
Activity右滑退出控件:http://blog.csdn.net/qq_20628139/article/details/77719237

原创粉丝点击