Compose如何弹出键盘
弹出键盘会遮盖住布局。。
那么是兄弟就来砍我吧。。
额不对。。
如何不遮住。。
参照网络上几百个教程。都不行。
onCreateDialog retrun前设置
activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
设置位置如下。
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState)
val view = LayoutInflater.from(context).inflate(R.layout.xxxx, null)
dialog.setContentView(view)
dialog.setCanceledOnTouchOutside(true)
initView(view)
activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
return dialog
}
那么我寻思直接把布局再次展开就好了 。
还有一点要 进行设置
如果你没有用到compose可能都不需要进行这个设置
LaunchedEffect(key1 = Unit, block = {
requester.requestFocus()//首次进入和重组页面请求焦点
keyboard?.show()//首次进入页面弹出键盘,注意必须先获取焦点才能弹出键盘成功
val d = dialog as BottomSheetDialog
d.behavior.state = BottomSheetBehavior.STATE_EXPANDED
})