【问题标题】:overridePendingTransition behaiving different with intent flagsoverridePendingTransition 行为与意图标志不同
【发布时间】:2013-06-18 04:48:30
【问题描述】:

我正在使用动画中的幻灯片通过 overridePendingTransition 在我的应用程序中打开活动。早些时候,当我在 startActivity(intent) without intent flags 之后使用它时,它工作正常。使用意图标志它不起作用所以我现在在 onResume() 方法中使用 overridePendingTransition 当活动第一次启动时动画很好但是当同一个实例由于意图标志而被带到前面时动画正在工作但它不是光滑的 。第二次活动从右侧开始滑入(这是正确的)但它出现了混蛋。

这些是我正在使用的意图标志

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

应该怎么做才能解决这个问题。请帮助

这是我用于动画幻灯片的代码,即 enter_anim

<translate
    android:duration="200"
    android:fromXDelta="100%"
    android:fromYDelta="0%"
    android:toXDelta="0%"
    android:toYDelta="0%" />

因为我不想给任何exit_anim

<translate
    android:duration="200"
    android:fromXDelta="0%"
    android:fromYDelta="0%"
    android:toXDelta="0%"
    android:toYDelta="0%" />

【问题讨论】:

  • 为了测试增加滑入和滑出的持续时间并测试它并发布行为..
  • 我做到了,仍然出现了混蛋
  • 发布你的动画代码
  • 已发布动画xml文件
  • @Ravi :您找到解决问题的方法了吗?即使我面临同样的问题。有一个混蛋。我还发布了我的问题 - stackoverflow.com/questions/28176141/… 。你能告诉你测试的是哪台设备以及它的操作系统版本吗

标签: android android-intent android-animation


【解决方案1】:

所以在你的清单中尝试下面的代码:- 在应用程序中添加这个

 android:hardwareAccelerated="true"

【讨论】:

    【解决方案2】:

    试试下面的代码

    overridePendingTransition(R.anim.slide_in_left_first,
                            R.anim.slide_out_left_first);
    slide_in_left_first:-
    
    <?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="200"
        android:fromXDelta="100%p"
        android:toXDelta="0%p" />
    
    slide_out_left_first:-
    
    <?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
            android:duration="200"
    
        android:fromXDelta="0%"
    
        android:toXDelta="0%" />
    

    【讨论】:

    • 还有一个混蛋。它不像第一次创建时那样平滑
    • 一切正常,请检查设备设置动画
    • intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);开始活动(意图); overridePendingTransition(R.anim.slide_in_left_first, R.anim.slide_out_left_first);
    • 尝试两个活动 A 和 B A 是起始活动,然后调用 B,然后从 b 再次调用 A。当我再次打电话给 A 时,问题就来了
    猜你喜欢
    • 2021-05-25
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多