关闭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.


版权声明:本文为u012364372原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。