android - 使用 Android L 动画在 Activity 之间切换

标签 android android-layout android-animation material-design

如何使用一些 Android L 动画在 Activity 之间切换?我只能找到关于defining custom animations的信息.

我在 Android 开发者文档中找不到有关收件箱和设置 Activity 之间以下动画的任何文档。

Gmail animation

我已经从 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/

相关文章:

android - 移动抽屉导航图标(汉堡包)

android - API < 21 的 java.lang.VerifyError

android - Opencl 在 ARM 上找不到 gpu

android - 均匀划分表格元素之间的宽度

android - 可以像 android 中的窗口一样使 View 不可触摸吗?

android - 在屏幕中央使用动画实现自定义 View 的最佳方式?

java - Android 上的 SQLite 错误

android - 在 RecyclerView Adapter 布局项顶部显示 PopupWindow

Android - xml布局作为背景

Android 过渡动画不起作用