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