如何在 Android 中为 BottomSheetDialogFragment 设置动画?

问题描述

我有一个 BottomSheetDialogFragment,我想通过在其入口和出口应用贝塞尔曲线来制作动画。 我已经设法以这种方式应用简单的动画

override fun onActivityCreated(arg0: Bundle?) {
    super.onActivityCreated(arg0)
    dialog?.window?.attributes?.windowAnimations = R.style.BottomSheetDialogAnimation
}

风格在哪里

<style name="BottomSheetDialogAnimation">
    <item name="android:windowEnteranimation">@anim/bottom_sheet_slide_up</item>
    <item name="android:windowExitAnimation">@anim/bottom_sheet_slide_down</item>
</style>

但我不知道如何使用贝塞尔曲线动画来实现。

解决方法

onActivityCreated 已弃用,因此您可以使用 onViewCreated

override fun onViewCreated(view: View,savedInstanceState: Bundle?) {
        super.onViewCreated(view,savedInstanceState)
        dialog!!.window!!.attributes.windowAnimations = R.style.BottomSheetDialogAnimation
    }

注意:注释或删除 onActivityCreated 方法。