美文网首页
处理 overridePendingTransition 黑色背

处理 overridePendingTransition 黑色背

作者: 树蜂 | 来源:发表于2019-07-27 22:57 被阅读0次

activity切换时,使用以下两个动画
slide_up_in.xml

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

slide_down_out.xml

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

切换 activity 代码如下

startActivity(new Intent(MainActivity.this, SettingActivity.class));
overridePendingTransition(R.anim.slide_up_in, R.anim.slide_down_out);

正常情况下是没问题,但如果MainActivity下面还有其他显示界面(例如其他app的activity),则在启动动画时,会出现黑色背景。

解决

添加 fake_anim.xml,其中 duration时间与其他动画时间一致

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

使用如下切换 activity 代码

startActivity(new Intent(MainActivity.this, SettingActivity.class));
overridePendingTransition(R.anim.slide_up_in, R.anim.fake_anim);

相关文章

网友评论

      本文标题:处理 overridePendingTransition 黑色背

      本文链接:https://www.haomeiwen.com/subject/xhryrctx.html