【发布时间】: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 上对此进行了测试。