android - overridePendingTransition 和墙纸

标签 android transition

我有两个使用 Theme.Holo.Wallpaper.NoTitleBar 样式的 Activity ,我想为它们的过渡设置动画。我在 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 这是关于问题的图形:

图片A Activity 1正在运行

图片 B Activity 1 开始 Activity 2,过渡效果很好

pic C Activity 2正在运行;

pic D 问题!翻译开始了,但墙纸现在似乎固定在 Activity 1 上。所以我看到 Activity 2 在黑色背景上消失, Activity 1 与墙纸一起出现(墙纸不仅没有被揭开,它还在翻译)。

我在不同的设备上测试了相同的代码: 宏碁 Liquid E (android 2.3)、三星 S4 (4.3)、HTC one (Cyanogen 11)。这个问题只出现在三星。有人有什么建议吗?

最佳答案

我找到了导致问题的原因。当 Activity 被标记为“singleTask”时,似乎会出现此问题。

事情是这样的。

  1. Activity1 启动 Activity2。
  2. 转换按预期运行。
  3. Activity2 尝试启动 Activity1 但它不会重新创建,只是放在前台。
  4. 过渡显示故障。

我无法将 activity1 启动模式更改为“默认”,所以我只是在 activity2 中启动 activity1 时添加了这些标志。

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

这解决了问题。

关于android - overridePendingTransition 和墙纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177564/

相关文章:

html - MSN网站css3过渡效果

javascript - react CSSTransition 不起作用?

android - cygwin中的ndk-build错误

android - E/MediaPlayer : start called in state 64, mPlayer(0xaf149260) 使用MediaPlayer时

Android Root ICS for Panda Board

ios - 在 UIViewControllerAnimatedTransitioning 中, "to ViewController"有 View 存在,但 "to View"为 nil

html - CSS - 在 safari 中过渡不流畅

javascript - 背景图像转换在 Firefox 中不起作用 (-moz-)

android - ActionBar 中的选项卡

android - 如何从Android App以编程方式将视频上传到Youtube