Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 文本框内底纸颤振_Flutter - Fatal编程技术网

Flutter 文本框内底纸颤振

Flutter 文本框内底纸颤振,flutter,Flutter,我有一张底片,如下所示 它里面有一个文本框,当我点击时,我得到了类似的东西 我的文本框完全被键盘覆盖。 有什么办法解决这个问题吗 下面是代码 Widget buildSupportingWidget( Map<String, Object> items, StateSetter setState) { if (items['type'] == "string") { dispName = items['displayName']; re

我有一张底片,如下所示

它里面有一个文本框,当我点击时,我得到了类似的东西

我的文本框完全被键盘覆盖。 有什么办法解决这个问题吗

下面是代码

Widget buildSupportingWidget(
      Map<String, Object> items, StateSetter setState) {
    if (items['type'] == "string") {
      dispName = items['displayName'];
      return Container(
          child: Padding(
              padding: const EdgeInsets.symmetric(
                horizontal: 27.0,
                vertical: 16.0,
              ),
              child: new TextFormField(
                style: new TextStyle(fontSize: 12.0, color: Colors.black),
                decoration: new InputDecoration(
                  labelText: "Enter value",
                ),
                keyboardType: TextInputType.text,
                controller: filterTextFieldData,
              )));
    }
    return null;
  }
Widget buildSupportingWidget(
映射项、状态设置器设置状态){
如果(项目['type']=“string”){
dispName=项['displayName'];
返回容器(
孩子:填充(
填充:const EdgeInsets.symmetric(
水平线:27.0,
垂直线:16.0,
),
子项:新建TextFormField(
样式:新文本样式(字体大小:12.0,颜色:Colors.black),
装饰:新的输入装饰(
labelText:“输入值”,
),
键盘类型:TextInputType.text,
控制器:filterTextFieldData,
)));
}
返回null;
}
我正在调用Bottomshet中的上述小部件


谢谢你,上周我遇到了同样的问题,我通过创建有状态的底部表单并添加容器(高度为列的最后一个小部件)解决了这个问题

开底板

 InkWell(
          onTap: () {
            showModalBottomSheet(
                context: context,
                isScrollControlled: true,
                builder: (context) {
                  return ModalBottomSheet(
                    
                      );
                });
          })
    class ModalBottomSheet extends StatefulWidget {
 

      @override
     _ModalBottomSheetState createState() => _ModalBottomSheetState();
    }

     class _ModalBottomSheetState extends State<ModalBottomSheet>
      with SingleTickerProviderStateMixin {

      @override
    Widget build(BuildContext context) {
    double keyboardHeight = MediaQuery.of(context).viewInsets.bottom;
    // TODO: implement build
    return Wrap(
      children: <Widget>[
        Container(
          margin:
              EdgeInsets.only(left: 10.0, right: 10.0, top: 15.0, bottom: 15.0),
          child: Column( 
           children: <Widget>[
            Widgets(),
            Container(
                height:  keyboardHeight ,
              )
          ]
            )
          )
        ],
      );
     }

    } 
有状态底片

 InkWell(
          onTap: () {
            showModalBottomSheet(
                context: context,
                isScrollControlled: true,
                builder: (context) {
                  return ModalBottomSheet(
                    
                      );
                });
          })
    class ModalBottomSheet extends StatefulWidget {
 

      @override
     _ModalBottomSheetState createState() => _ModalBottomSheetState();
    }

     class _ModalBottomSheetState extends State<ModalBottomSheet>
      with SingleTickerProviderStateMixin {

      @override
    Widget build(BuildContext context) {
    double keyboardHeight = MediaQuery.of(context).viewInsets.bottom;
    // TODO: implement build
    return Wrap(
      children: <Widget>[
        Container(
          margin:
              EdgeInsets.only(left: 10.0, right: 10.0, top: 15.0, bottom: 15.0),
          child: Column( 
           children: <Widget>[
            Widgets(),
            Container(
                height:  keyboardHeight ,
              )
          ]
            )
          )
        ],
      );
     }

    } 
class ModalBottomSheet扩展StatefulWidget{
@凌驾
_ModalBottomSheetState createState()=>ModalBottomSheetState();
}
类_ModalBottomSheetState扩展状态
使用SingleTickerProviderStateMixin{
@凌驾
小部件构建(构建上下文){
双键盘高度=MediaQuery.of(context).viewInsets.bottom;
//TODO:实现构建
回程包装(
儿童:[
容器(
保证金:
仅限边集(左:10.0,右:10.0,顶部:15.0,底部:15.0),
子栏(
儿童:[
Widgets(),
容器(
高度:键盘高度,
)
]
)
)
],
);
}
} 
另外,请帮助我检查键盘是否打开