在半透明活动中退出转换



我试图在半透明活动时进行一个简单的淡出转换。活动的风格是:

<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>

淡入-进入转换工作顺利,但调用finishAfterTransition()后淡出-退出转换仅在我当前(半透明(活动和上一个活动之间闪烁。

我开始在布局上执行常规动画,然后完成活动。但我真的很想知道如何在活动上使用过渡框架。

You can implement fade-in and fade-out animation by this way also.     
Create anim folder under res folder, In anim folder create two xml file.
-------------------------------------------------------------------------------------
fadein.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="2000" />
-------------------------------------------------------------------------------------
fadeout.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0" android:
duration="2000" />
-------------------------------------------------------------------------------------
Add this on override method of onCreate and onStart.
overridePendingTransition(R.anim.fadein, R.anim.fadeout);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
}

@Override
protected void onStart() {
super.onStart();
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
}

在半透明活动上执行转换时,默认exitTransition的行为继承自enterTransition,实际上,它反转了转换,我们无法覆盖它。

幸运的是,还有一个属性对活动的关闭过渡起着重要作用,即returnTransition,它是在窗口准备关闭时用于将视图移出场景的所需过渡。

现在尝试使用而不是window.exitTransition = Fade(Fade.MODE_OUT)

window.returnTransition=淡入(淡入.MODE_OUT(

或者您可以在styles.xml中定义的活动主题中覆盖它

<item name="android:windowReturnTransition">@transition/exit_transition</item>

其中exit_transition.xml将是

<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<fade
android:duration="@android:integer/config_shortAnimTime"
android:fadingMode="fade_out" />
</transitionSet>

res/transition目录中。你已经准备好摇滚了!

最新更新