我做了弹出一个和Dialog一样的Activity,用于播放视频, 想做淡入淡出的效果,但是Activity进出场动画失效
Activity进出场动画失效
Intent intent = new Intent(activity, VideoViewActivity.class);
intent.putExtra("videoUrl", videoUrl);
startActivity(intent);
overridePendingTransition(R.anim.anim_fade_in, R.anim.anim_fade_out);
anim_fade_in
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
anim_fade_out
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:interpolator="@android:anim/decelerate_interpolator"
android:zAdjustment="top">
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
AndroidManifest.xml
<activity
android:name=".activity.VideoViewActivity"
android:theme="@style/TransparentTheme" />
TransparentTheme
<!--android:windowIsTranslucent: 当前Activity是否透明
android:windowBackground: 透明的背景色,可以自定义透明效果
android:windowAnimationStyle: Activity进出的方式 -->
<style name="TransparentTheme" parent="AppTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
<!--如果有下面这行, 代码里添加Activity进出动画会失效-->
<!-- <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>-->
</style>
原因: 当前activity 在AndroidManifest.xml中设置了中透明的主题,主题中设置了进出动画
解决办法: 注释掉
<!-- <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>-->
在尝试为一个类似Dialog的Activity添加淡入淡出动画时,遇到动画失效的问题。问题根源在于Activity在AndroidManifest.xml中使用了透明主题,并且该主题设定了动画。解决方案是取消透明主题中进出动画的设置。
1857

被折叠的 条评论
为什么被折叠?



