问题描述
点击edittext,弹出软键盘,dialog略微上移,edittext和下面的按钮还是被遮挡,上移的部分被切割
解决方案
设置dialog的inputMode,取消软键盘弹出自动上移
监听软键盘弹出事件,动态设置dialog的paddingBottom
override fun init() {
dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING)
globalListener = KeyboardUtils.registerSoftInputChangedListener(activity, object : KeyboardUtils.OnSoftInputChangedListener {
override fun onSoftInputChanged(height: Int) {
val activityPos = intArrayOf(0, 0)
val dialogPos = intArrayOf(0, 0)
activity.window.decorView.getLocationOnScreen(activityPos)
getLocationOnScreen(dialogPos)
val gap = activity.window.decorView.bottom + activityPos[1] - (bottom + dialogPos[1])
if (height > 10 && gap < height) {
dialog?.window?.decorVie