0

我在 overridePendingTransition 中使用了从一个活动到另一个活动的转换。不幸的是,所有 overridePendingTransition 使用的是文件的资源 id,所以我在如何编辑这个文件时遇到了麻烦,所以我的转换是正确的。

基本上我需要做的是对 R.anim.flip_in_scale_in 进行更改,以便我可以更改从 X/toX 过渡的值,以便根据用户的屏幕尺寸进行设置。

overridePendingTransition(R.anim.flip_in_scale_in, R.anim.stationary_item); 

在 overridePendingTransition 中使用之前,如何更新 R.anim.flip_in_scale_in 文件?

4

1 回答 1

1

您无法以您想要的方式更改资源文件中的动画。

但是,您可以创建动画以使用百分比而不是 dp 值。当动画应用于Activity的 View 时,它将完全根据 View 的大小(在大多数情况下是屏幕大小)进行动画处理。

例如:

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="100%"
        android:toXDelta="0%"
        android:duration="500"
        />
</set>

将在半秒内从右侧向屏幕滑动视图。

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
        android:toYScale="1.4"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="1000" />
</set>

这将在一秒钟内将视图增加到当前大小的 40%。无论视图的大小如何,枢轴都将直接位于视图的中间。

于 2013-01-24T14:48:39.960 回答