跳转至

Activity过场动画效果

更新日期 2022-2-3
  • 2022-2-3 创建文档

Activity过场动画效果

Activity切换的时候可以指定一些过场动画。例如指定入场和退场的滑动方向。

定义动画

我们先定义一些动画xml在drawable目录中

从左到右入场

enter_from_left_to_right.xml,从左到右入场

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXDelta="-100%p"
    android:toXDelta="0%p" />

可以看出x轴方向上的动画使用的是fromXDeltatoXDelta属性。

右到左入场

enter_from_right_to_left.xml,右到左入场

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXDelta="100%p"
    android:toXDelta="0%p" />

从左边退场

exit_to_left.xml,从左边退场

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXDelta="0%p"
    android:toXDelta="-100%p" />

从右边退场

exit_to_right.xml,从右边退场

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_shortAnimTime"
    android:fromXDelta="0%p"
    android:toXDelta="100%p" />

使用动画

然后在styles.xml中定义使用的动画效果。

<style name="AppMainTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowAnimationStyle">@style/DefActivityAnimation</item>
</style>

<!-- 指定过场动画 -->
<style name="DefActivityAnimation">
    <item name="android:activityOpenExitAnimation">@anim/exit_to_left</item>
    <item name="android:activityOpenEnterAnimation">@anim/enter_from_right_to_left</item>
    <item name="android:activityCloseExitAnimation">@anim/exit_to_right</item>
    <item name="android:activityCloseEnterAnimation">@anim/enter_from_left_to_right</item>
</style>

参考

本站说明

一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~

📖AndroidTutorial 📚AndroidTutorial 🙋反馈问题 🔥最近更新 🍪投喂作者

Ads