日常bug汇总
1.constraintlayout + NestedScrollView 可能会导致NestedScrollView 不滑动
2.截屏
open class SecureFragment : LogLifecycleFragment() {override fun onResume() {super.onResume()if (!BuildConfig.DEV) {requireActivity().window.setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE)}}override fun onPause() {super.onPause()if (!BuildConfig.DEV) {requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)}} }
3.dialog设置消失动画
<!--控制dialog进出动画--> <style name="DialogExitAnimation" parent="android:Animation"><item name="android:windowExitAnimation">@anim/dialog_exit</item> </style>
dialog_exit.xml文件类似如下。注意android:pivotX="1" 发现不生效
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android=""android:duration="200"android:fillAfter="false"><!-- 从左下角开始 --><scaleandroid:fromXScale="1"android:fromYScale="1"android:pivotX="100%"android:pivotY="0"android:toXScale="0"android:toYScale="0" /> </set>
代码中dialog.window?.setWindowAnimations(R.style.DialogExitAnimation)
如果dialog中还有其他的style,可以这样
dialog = context?.let { Dialog(it, R.style.GuideDialogWindow) }不受影响
4.dialog设置水平间距等不生效
dialog?.show() dialog?.apply {window?.setLayout(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.WRAP_CONTENT) }
日常bug汇总
1.constraintlayout + NestedScrollView 可能会导致NestedScrollView 不滑动
2.截屏
open class SecureFragment : LogLifecycleFragment() {override fun onResume() {super.onResume()if (!BuildConfig.DEV) {requireActivity().window.setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE)}}override fun onPause() {super.onPause()if (!BuildConfig.DEV) {requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)}} }
3.dialog设置消失动画
<!--控制dialog进出动画--> <style name="DialogExitAnimation" parent="android:Animation"><item name="android:windowExitAnimation">@anim/dialog_exit</item> </style>
dialog_exit.xml文件类似如下。注意android:pivotX="1" 发现不生效
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android=""android:duration="200"android:fillAfter="false"><!-- 从左下角开始 --><scaleandroid:fromXScale="1"android:fromYScale="1"android:pivotX="100%"android:pivotY="0"android:toXScale="0"android:toYScale="0" /> </set>
代码中dialog.window?.setWindowAnimations(R.style.DialogExitAnimation)
如果dialog中还有其他的style,可以这样
dialog = context?.let { Dialog(it, R.style.GuideDialogWindow) }不受影响
4.dialog设置水平间距等不生效
dialog?.show() dialog?.apply {window?.setLayout(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.WRAP_CONTENT) }