如何使用某些Android L动画在活动之间切换?我只能找到有关defining custom animations的信息。
我在Android开发者文档中的“收件箱”和“设置”活动之间找不到任何有关以下动画的文档。
我已从Gmail中提取了动画文件,但在使用以下内容时,活动仅上下滑动,并且没有Z移动(深度)。
activity.overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_top);
您可以找到使用的动画文件here。
答案 0 :(得分:16)
Gmail似乎使用Animation类来创建动画,因此我必须创建自己的版本。
swap_in_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:startOffset="200"
android:zAdjustment="top">
<alpha
android:duration="150"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
<translate
android:duration="200"
android:fromYDelta="100.0%p"
android:toYDelta="0.0" />
</set>
swap_out_bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:zAdjustment="bottom">
<scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="0.9"
android:toYScale="0.9" />
<alpha
android:duration="200"
android:fromAlpha="1.0"
android:toAlpha="0.5" />
<translate
android:duration="400"
android:fromYDelta="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:startOffset="100"
android:toYDelta="20.0%p" />
</set>
使用它的代码;
overridePendingTransition(R.anim.swap_in_bottom, R.anim.swap_out_bottom);
这是我的自定义动画的外观(在设备上更加流畅);