Android:如何在finish()之后为来自不同活动的几个视图制作动画?

时间:2015-02-13 23:39:35

标签: android xml transition

我想要一个与移动按钮平行的新活动视图的缩放动画,以及移出屏幕的不同方向的旧活动的ImageView。 overridependingtransition()需要xml资源,但是你不能编码,例如缩放个别视图。 使用Java代码,我无法启动新的Activity(使用Animation)并同时启动旧Activity的动画。 我怎么能做到这一点? 最好用XML编码

以下是我想要做的一个例子: http://i.stack.imgur.com/C1jqg.png

1 个答案:

答案 0 :(得分:0)

您描述的内容看起来像是两个活动之间的过渡。您可以使用新活动转换的API。看看这里:https://developer.android.com/training/material/animations.html#Transitions 请记住兼容级别为21.它仅适用于棒棒糖设备。 如果你想在21岁以下兼容,你可以尝试自己实现它。

  • 第一步是在startActivity()
  • 之后立即调用overridePendingTransition(0,0)来覆盖转换
  • 第二步是使新活动的背景透明,并放置您想要设置动画的视图。
    例如,如果您希望将第一个活动的图像视图放大并移动到新活动中的新位置,则可以根据意图将图像视图的坐标和大小发送到新活动,然后在新活动中移动和缩小您的imageview以重叠上一个活动中的imageview(因为背景是透明的)。
    要将其设置为实际大小,您只需将scaleX()scaleY()设置为1(新活动中的原始大小),并将translationX()translationY()设置为0(新活动中的原始位置) )它的位置。
  • 然后,在新活动的布局之后,您可以将视图设置为新位置的动画。请参阅http://developer.android.com/guide/topics/graphics/overview.html