Flutter 软键盘遮挡dialog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter 软键盘遮挡dialog相关的知识,希望对你有一定的参考价值。

参考技术A 当dialog里需要输入框弹出软键盘时,会造成遮挡问题
首先应该考虑用Scaffold当根布局将其背景设置为透明色
然后包裹Center 使dialog全屏居中
最后包裹自己的dialog内容

iOS webview html5 移动端 软键盘弹起遮挡输入框

参考技术A 移动web聊天页面,输入框在底部的时候,点击输入,弹起软键盘,iOS在将页面推上的时候会回弹一下,导致键盘刚好遮挡到输入框。

初次触发输入框的focus的时候,iOS 键盘默认是以英文键盘高度推上页面,但一般我们的默认输入是中文,会导致软键盘的高度变化,中文输入键盘高度高于英文,所以导致了遮挡。

Element.scrollIntoViewIfNeeded() 方法用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。 如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动。 此方法是标准的 Element.scrollIntoView() 方法的专有变体。

当键盘在切换中英输入法时,键盘高度变化仍然会引起键盘遮挡

监听输入框的 focus 、 blur 事件,当聚焦时,循环调用 input.scrollIntoViewIfNeeded 方法。

当监听到 blur 时,停止循环。

以上是关于Flutter 软键盘遮挡dialog的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 124: 日常问题小结 (三) 自定义 Dialog 二三事

Android WebView加载页面的输入框被软键盘遮挡的问题

android 如何解决软键盘遮挡界面

Android Popwindow和软键盘遮挡问题

安卓手机底部输入框被软键盘遮挡的坑

登录界面软键盘遮挡登入按钮 空间