关闭BottomSheetDialogFragment从后台返回后的动画

问题

显示BottomSheetDialogFragment后。将当前应用放于后台,切换到其他APP,然后再返回当前应用。此时会看到BottomSheetDialogFragment从下而上的动画再次显示出来。

我们仅仅需要第一次显示BottomSheetDialogFragment才需要动画,后面返回的情况其实不需要。

解决

override fun onStop() {
    super.onStop()
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
        dialog?.window?.setWindowAnimations(-1)
    }
}

加系统版本判断是因为:
dialog?.window?.setWindowAnimations(-1)
在小于android P的系统上,会造成点击没响应的bug.

posted @ 2022-04-02 12:07  AceDY  阅读(184)  评论(0编辑  收藏  举报