如何使用一些 Android L 动画在 Activity 之间切换?我只能找到关于defining custom animations的信息.
我在 Android 开发者文档中找不到有关收件箱和设置 Activity 之间以下动画的任何文档。
我已经从 Gmail 中提取了动画文件,但是当使用下面的时, Activity 只能上下滑动,没有 Z 移动(深度)。
activity.overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_top);
您可以找到使用的动画文件 here .
最佳答案
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);
这是我的自定义动画的外观(在设备上更流畅);
关于android - 使用 Android L 动画在 Activity 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26833746/