【问题标题】:Android - Previous activity goes black during transitionAndroid - 上一个活动在过渡期间变黑
【发布时间】:2013-12-23 22:40:45
【问题描述】:

我有一个活动,我使用 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 之后,当新活动进入视图时,前一个活动仍然变黑。我试过设置主题,但也没有任何效果。

【问题讨论】:

  • overridePendingTransition(R.anim.bounce, R.anim.do_nothing);将其移至下一个活动 onresume 方法
  • @Hades 谢谢,但这也不起作用。我在运行 4.0.3 的 lg-eg617g 和运行 4.1.2 的 Galaxy Note 上对此进行了测试。

标签: android android-animation


【解决方案1】:

我最终通过创建一个主题来解决这个问题,该主题使用 android:style/Theme.Translucent 作为父级以及我之前发布的其他代码。我的主题是这样的:

<style name="InvisibleBackgroundTheme" parent="@android:style/Theme.Translucent">
    <item name="android:windowActionBar">true</item>
</style>

我还在其中添加了其他所有内容,以在整个应用程序中保持主题相同。

【讨论】:

  • 您好,为什么创建这个主题可以解决问题?我想了解这里发生了什么,因为我遇到了类似的问题,但是在我的案例中,我实际上已经做了一个主题。 stackoverflow.com/questions/29240100/…
猜你喜欢
  • 1970-01-01
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
相关资源
最近更新 更多