Compose如何弹出键盘

​​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


})