Android - 在资源文件中更改动画

时间:2013-01-24 14:39:24

标签: android animation resources translation

我在overridePendingTransition中使用了从一个活动到另一个活动的转换。不幸的是,所有overridePendingTransition使用的都是文件的资源ID,所以我在编辑这个文件方面遇到了麻烦,所以我的过渡是正确的。

基本上我需要做的是更改R.anim.flip_in_scale_in,以便我可以将转换的值从X /更改为X,以便根据用户的屏幕大小进行设置。

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

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

1 个答案:

答案 0 :(得分:1)

无法以您希望的方式从资源文件中更改动画。

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

例如:

<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%。无论视图的大小如何,枢轴都将直接位于视图的中间。