3

我必须在两个活动之间实现一个简单的动画:我已经实现了一些简单的动画,但最后一个有点难以实现。

动画应该是这样的:活动 A(在屏幕上)从 YDelta = 0 滑到 Ydelta = -100%。与此同时,Activity B 已经在它的最终位置(它不动,不需要翻译……)并且它正在慢慢地显示出来……就像一个宫廷……

我尝试过这种不好的方式:

overridePendingTransition(R.anim.no_anim, R.anim.slide_to_top);

no_anim:

<translate android:fromYDelta="0" android:toYDelta="0" android:duration="2000"/> 

幻灯片顶部:

 <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="2000"/> 

结果不正确:Activity B(绑定到 no_anim)立即显示在屏幕上,因此 Activity A 简单地消失了......

我该如何解决我的问题?

TY和BR!

4

2 回答 2

2

我有一个类似的问题然后我发现,(作为css中的z顺序)动画有一个非常好的参数android:zAdjustment::“允许在动画期间调整动画内容的Z顺序 . 您将能够在上一个活动之后显示下一个活动。您有 3 个可能的值:

  • 正常:默认值等于0
  • 底部:显示在-1;落后的价值
  • 顶部:1的值;显示在顶部

因此,slide_to_top.xml

<translate 
    android:zAdjustment="top"
    android:fromYDelta="0"
    android:toYDelta="100%p"
    android:duration="2000" />  

此外,您不需要设置no_anim动画,因为您的下一个活动将具有默认值0,而您之前的活动将具有+1. 刚刚经过测试,它就像一个魅力,真的!然后,方法:

overridePendingTransition(0,R.anim.slide_to_top);  

我真的希望你找到解决这个问题的方法。但是,此解决方案可能会帮助想要与您的行为相同的人。

于 2014-04-09T04:20:32.497 回答
0

请参阅我的帖子Android 滑入滑出活动

您需要为从和到的视图从右到左和从左到右创建动画...

于 2013-09-02T07:39:16.240 回答