android 4.4(kitkat) 及更高版本上不同活动的动画布局
Animate layout on different activities on android 4.4(kitkat) and higher
现在 this specific page does describe 一种在不同活动的布局之间设置动画的方法,但问题是 API 仅支持 android 5.0 及更高版本,所以我想要了解在两个不同的活动中可以为布局完成动画(如过渡或任何其他类型的 fade/slide 等)的方式。
您不能在 Lollipop 版本之前的主题上设置过渡,但您仍然可以通过编程方式使用动画。
这是一个动画示例,它在首次创建时将新的 activity 滑入,而在您按下后退按钮时则相反。
left_in.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/> //in milliseconds
</set>
right_in.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
left_out.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-100%"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
right_out.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="100%"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
在您的活动中,您可以按如下方式调用动画:
开始时:overridePendingTransition(R.anim.right_in, R.anim.left_out);
后退:overridePendingTransition(R.anim.left_in, R.anim.right_out);
或以上任意组合。
请注意 overridePendingTransition
上的第一个动画用于传入 activity,第二个动画用于传出 activity。
现在 this specific page does describe 一种在不同活动的布局之间设置动画的方法,但问题是 API 仅支持 android 5.0 及更高版本,所以我想要了解在两个不同的活动中可以为布局完成动画(如过渡或任何其他类型的 fade/slide 等)的方式。
您不能在 Lollipop 版本之前的主题上设置过渡,但您仍然可以通过编程方式使用动画。
这是一个动画示例,它在首次创建时将新的 activity 滑入,而在您按下后退按钮时则相反。
left_in.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/> //in milliseconds
</set>
right_in.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%"
android:toXDelta="0"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
left_out.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-100%"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
right_out.xml
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="100%"
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>
在您的活动中,您可以按如下方式调用动画:
开始时:overridePendingTransition(R.anim.right_in, R.anim.left_out);
后退:overridePendingTransition(R.anim.left_in, R.anim.right_out);
或以上任意组合。
请注意 overridePendingTransition
上的第一个动画用于传入 activity,第二个动画用于传出 activity。