Flutter 软键盘遮挡dialog

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

执行顺序

Scaffold->Center->Container

具体代码

showDialog(
                          context: context,
                          barrierDismissible: true,
                          builder: (context) {
                            return Scaffold(
                              backgroundColor:  Color(0x1E000000),//设置为透明色
                              body: Center(//整体居中
                                child: Container(
                                  width: 280,//宽度写固定值,高度自适应,需要滑动加SingleChildScrollView
                                  decoration: BoxDecoration(//优化dialog,不需要圆角删除
                                    shape: BoxShape.rectangle,
                                    borderRadius:
                                    BorderRadius.all(Radius.circular(18)),
                                    color: Colors.white,
                                    child://自己的布局
                                  ),
                              ),
                            );
                          });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容