我有三个活动,它们的启动模式是单实例

问题是,当我从右向左滑动时,幻灯片过渡是可以的,但当我从左向右滑动时,我得到了从右向左滑动的过渡.

我知道为什么会这样,因为我总是发送新的意向.但是,现在我需要更改从左向右滑动的动画.

我知道有一个名为overridingTransitionPending()的方法,但我不知道如何用XML定义动画.

推荐答案

res/anim/中使用此xml

这适用于从左到右的动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate android:fromXDelta="-100%" android:toXDelta="0%"
             android:fromYDelta="0%" android:toYDelta="0%"
             android:duration="700"/>
</set>

这适用于从右向左的动画:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />
</set>

在您的编码中,使用从左到右的意图:

this.overridePendingTransition(R.anim.animation_enter,
                   R.anim.animation_leave);

在您的编码中,使用意图类似于从右到左

this.overridePendingTransition(R.anim.animation_leave,
                               R.anim.animation_enter);

Android相关问答推荐

listOf(listOf(字符串))在lazyArchitect(lazyStream)中合成

为什么R8不混淆某些类?

了解数据加载在Kotlin中的工作原理

懒惰的垂直网格中盒子的重量-Jetpack组合

LaunchedEffect没有延迟时应用程序崩溃

是否可以附加事件处理程序,如onClick,拖动到Canvas Composable中绘制的内容,或使用drawBehind修饰符?

闪屏 API 无法在 Android 12 上运行(API 31、32)

如何在Android Studio中禁用文件中的Github用户名引用?

如何避免多次调用 Jetpack Compose 的 onClick 回调

如何删除 Jetpack Compose 中按钮的左边框?

组成不重叠的元素

LazyColumn 项目,隐式接收器无法在此上下文中调用单元

try 使用 ViewPager2 实现滑动视图时出现类型不匹配错误

记住或不记得derivedStateOf

Android Compose 创建抖动动画

如何在 Jetpack Compose 中更改 ModalNavigationDrawer 的抽屉容器 colored颜色 ?

在 jetpack compose 中使用 viewmodel 的最佳实践

Android Studio:如何添加应用程序质量洞察窗口以查看 Android Studio 中的 Crashlytics 数据?

Android WebView 没有在第一次页面完成时从本地存储读取数据?

升级到 android studio 花栗鼠后,应用程序未安装在模拟器中