我有一个活动,我使用overridePendingTransition设置一个自定义动画,在第一次尝试时工作正常但由于某些原因,当我回到上一个活动时,屏幕在第二次尝试时变黑。我四处搜索,但无法找到解决方案来解决它。继承人自定义动画
<?xml version="1.0" encoding="utf-8"?>
<set
android:interpolator="@android:anim/fade_out"
xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:duration="4000"
/>
</set>
我按下这样的按钮来调用overridePendingTransition
OnClickListener click = new OnClickListener() {
@Override
public void onClick(View v) {
Intent panIntent = new Intent(SActivity.this, S2Activity.class);
panIntent.putExtra(S2Activity.EXTRA_TENANT_INFO, panics.get(position).toString());
panIntent.putExtra("fromHistory", 0);
panIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(panIntent);
overridePendingTransition(R.anim.bounce, R.anim.do_nothing);
}
};
我正在寻找的行为是让新活动从右向左滚动,而前一个活动在后台停留,而屏幕不会变黑一秒钟。我玩过持续时间和其他东西。
更新:
即使将所有初始化的位图和资源移动到asynctasks并将事物移动到onResume之后,当新活动进入视图时,之前的活动仍然变黑。我试过设置主题,但也没有任何效果。
答案 0 :(得分:1)
我最后通过创建一个主题使用android:style / Theme.Translucent作为父级以及之前发布的其他代码来修复此问题。我的主题看起来像这样:
<style name="InvisibleBackgroundTheme" parent="@android:style/Theme.Translucent">
<item name="android:windowActionBar">true</item>
</style>
我还在其中添加了其他所有内容,以便通过我的应用程序保持主题相同。