为了账号安全,请及时绑定邮箱和手机立即绑定

切换活动时如何添加过渡?

切换活动时如何添加过渡?

慕勒3428872 2022-07-20 20:26:56
我正在尝试构建一个应用程序,最终我设法实现了一个导航栏,该导航栏使用库(https://github.com/ittianyu/BottomNavigationViewEx)在活动之间切换。一切正常,但是当它在活动之间切换时,动画非常糟糕。我找到了一个教程,他们使用overridePendingTransition()添加动画,但由于某种原因,我不能在这里使用它。我已经创建了 4 个动画: slideleft、slideleftout、slideright、sliderightout 并添加了变量num以跟踪当前选择的活动,并且我添加了一些 If 语句来检查每种情况应该播放什么动画(至少这就是我想要做的)。我应该如何在这里实现这些动画?
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

您不能直接使用overridePendingTransition()in 因为它是来自Activity参考这里)的方法。您将需要对调用活动的引用才能像这样调用:

activity.overridePendingTransition(R.anim.enter, R.anim.exit);

或者,Bundle如果您的最低 SDK 版本为Build.VERSION_CODES.JELLY_BEAN. 此类用法的文档可在此处 使用此方法签名


查看完整回答
反对 回复 2022-07-20
?
ibeautiful

TA贡献1993条经验 获得超5个赞

在 res/anim 文件夹中添加这两个文件。


R.anim.fade_in


<?xml version="1.0" encoding="utf-8"?>

<alpha

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:interpolator="@android:anim/accelerate_interpolator"

    android:fromAlpha="0.0"

    android:toAlpha="1.0"

    android:duration="500" />

R.anim.fade_out


    <?xml version="1.0" encoding="utf-8"?>

<alpha

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:interpolator="@android:anim/accelerate_interpolator"

    android:fromAlpha="1.0"

    android:toAlpha="0.0"

    android:duration="500" />

Java 代码


 // Check if we're running on Android 5.0 or higher

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

        //Swap with transition

        //start new activity here

    activity.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

    } else {

        // Swap without transition

    }


查看完整回答
反对 回复 2022-07-20
  • 2 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信