overridePendingTransition和壁纸

时间:2014-01-17 03:56:49

标签: android transition

我有两个活动用作Style.Holo.Wallpaper.NoTitleBar样式,我想设置它们的过渡动画。我在4个不同的xml文件中创建了4个这样的动画。

left_in.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%" android:toXDelta="0%" android:fromYDelta="0%"
android:toYDelta="0%" android:duration="200" />

enter image description here 这是一个关于这个问题的图表:

pic活动1正在运行

pic B活动1开始活动2,过渡就像一个魅力

pic C活动2正在运行;

图片D问题!翻译开始,但壁纸现在似乎锚定到活动1.所以我看到活动2在黑色背景上消失,活动1与壁纸一起出现(壁纸不仅仅被揭开,它正在翻译)。

我在不同设备上测试了相同的代码: Acer Liquid E(安卓2.3),三星S4(4.3),HTC one(Cyanogen 11)。问题只出现在三星身上。有没有人有任何建议?

1 个答案:

答案 0 :(得分:1)

我找到了导致问题的原因。当活动标记为&#34; singleTask&#34;。

时,似乎会出现此问题

这就是发生的事。

  1. Activity1启动Activity2。
  2. 转换按预期运行。
  3. Activity2尝试启动Activity1,但不会重新创建,只需将其放在前台。
  4. 过渡显示故障。
  5. 我无法将activity1启动模式更改为&#34;默认&#34;,所以我在activity2中添加了这些标志,我启动了activity1。

    startActivity(new Intent(this, activity1.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK));
    

    这解决了这个问题。