flutter: 弹出键盘后内容溢出屏幕

https://dev.to/rubensdemelo/flutter-forms-improving-uiux-with-singlechildscrollview-36gd
使用SingleChildScrollView

Widget build(BuildContext context) {
    return Center (
      child: SingleChildScrollView(
          child: Center(
            child: Card(
              margin: const EdgeInsets.all(12.0),
              // 可以设置半径为12的圆角
              shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(12.0))),
              elevation: 15.0,  //设置阴影
              child: Column(
                mainAxisSize: MainAxisSize.min, // 主轴上最小,不会有多余空间
                children: <Widget>[
                  ClipRRect(
                      borderRadius: BorderRadius.circular(4),
                      child: Image.asset(
                        'assets/img/login.png',
                      )
                  ),
                  Container(
                      padding: const EdgeInsets.all(8.0),
                      child: Column(
                          children: <Widget>[
                            TextField(
                              obscureText: false, // 是否为密码
                              decoration: InputDecoration(
                                labelText: 'Account',
                                enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.grey)),
                              ),
                            ),
                            TextField(
                              maxLength: 10,//最大长度,设置此项会让TextField右下角有一个输入数量的统计字符串
                              obscureText: true,
                              decoration: InputDecoration(
                                labelText: 'Password',
                                enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.grey)),
                              ),
                            ),
                          ]
                      )
                  ),
                  ButtonTheme.bar(
                    // make buttons use the appropriate styles for cards
                    child: ButtonBar(
                      children: <Widget>[
                        FlatButton(
                          child: const Text('LOGIN'),
                          onPressed: () {
                            print("登入失败");
                          },
                        ),
                      ],
                    ),
                  ),
                ],
              ),
            ),
          )
      ),
    );
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值