android - Activity 之间的 slider 动画

标签 android android-layout animation android-animation

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

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

我试过这种糟糕的方式:

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

无动画:

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

幻灯片到顶部:

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

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

我该如何解决我的问题?

TY 和 BR!

最佳答案

我遇到了类似的问题然后我发现,(如 css 中的 z-order)动画有一个非常好的参数:android:zAdjustment : “允许在动画持续时间内调整动画内容的Z 顺序。您将能够显示上一个 Activity 之后的下一个 Activity 。您有 3 个可能的值:

  • normal: default value equals to 0
  • bottom: displayed in -1; value to be behind
  • top: value for 1; displayed at the top

因此,slide_to_top.xml:

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

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

overridePendingTransition(0,R.anim.slide_to_top);  

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

关于android - Activity 之间的 slider 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567866/

相关文章:

java - 我得到一个 java.lang.classnotfoundexception : com. mysql.jdbc.Driver

android - 使用 XML 可绘制的垂直线

android - 如何给 DialogFragment 添加动画?

javascript - jquery动画不显示

html - 伟大的 Javascript 动画引擎? - Javascript/动画

安卓图像识别

android - 如何备份 Android 数据库 - 启用 WAL

java - 自动选择第一个手机号码 HintRequest android

android - 以 XML 格式缩放和裁剪图像

android - 如何在线性布局中获取textview的位置(Y坐标)