以编程方式翻译Activity的动画

时间:2014-08-13 02:33:20

标签: android android-activity android-animation

这似乎是一项简单的任务,但我找不到解决方案。

我需要使用自定义动画从 [活动A] 切换到 [活动B] 。 为此,我将 [活动B] (在 onCreate 中)设置为:

overridePendingTransition(R.animator.slide_in, R.animator.slide_out);

其中 R.animator.slide_in 使用代码移动 [活动B]

<translate
        xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_mediumAnimTime"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:fromYDelta="100%p"
    android:toYDelta="0%p">
</translate>

R.animator.slide_out 是移出 [活动A] 的逆动画。

一切都没问题,但我想以编程方式设置 R.animator.slide_in android:fromYDelta 因为它可以不时改变

诀窍是什么?也许我需要以编程方式创建整个动画,但我真的找不到方法......

谢谢!

1 个答案:

答案 0 :(得分:1)

BUT i wanna set programmatically the android:fromYDelta of R.animator.slide_in cause it can change time to time.

无法以编程方式更改xml的动画,也无法在活动的overridePendingTransition方法中使用对象,它需要xml中的资源才能用作动画。

<强>溶液

它要么为每个YDelta创建多个xml,要么需要大量的xml文件,要么坚持使用一个xml文件来存放所有动画。