【问题标题】:How to fix Bottom Overflowed by 137 pixels on flutter如何在颤动上修复底部溢出 137 像素
【发布时间】:2020-09-09 14:17:41
【问题描述】:

我正在为我的应用程序(交付应用程序)构建一个登录页面 我得到“底部溢出 89 像素”,我无法修复它。 我到处看了看。 我发现的唯一方法是添加

resizeToAvoidBottomPadding: false

在脚手架上,但它不起作用。 如何解决? 我需要包裹一些东西吗? 如果是,该怎么做? 最后,“底部溢出 89 像素”是什么意思?

class LoginPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //
    // Captura o tema do titulo
    TextStyle titleTheme = Theme.of(context).textTheme.headline6.copyWith(
          color: Layout.light(),
        );

    return Scaffold(
      backgroundColor: Layout.primaryDark(),
      body: Column(
        children: <Widget>[
          Expanded(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                SizedBox(height: 20),
                ClipRRect(
                  child: Container(
                    decoration: BoxDecoration(
                      border: Border.all(
                        color: Layout.light(),
                        width: 0,
                      ),
                      borderRadius: BorderRadius.circular(160),
                      color: Layout.dark(.8),
                    ),
                    child: Image.asset('assets/foto_app.png'),
                  ),
                  borderRadius: BorderRadius.circular(170),
                ),
                SizedBox(height: 20),
                Text('Distribuidora Ilha Grande', style: titleTheme),
              ],
            ),
          ),
          Stack(
            children: <Widget>[
              Positioned(
                top: 10,
                left: 0,
                right: 0,
                child: Container(
                  height: 50,
                  decoration: BoxDecoration(
                    color: Colors.transparent,
                    boxShadow: [
                      BoxShadow(
                        color: Layout.dark(),
                        offset: const Offset(0, 0),
                        spreadRadius: 8,
                        blurRadius: 15,
                      ),
                    ],
                  ),
                ),
              ),
              Container(
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.only(
                    topLeft: Radius.circular(25),
                    topRight: Radius.circular(25),
                  ),
                  color: Layout.light(),
                ),
                height: MediaQuery.of(context).size.height * .5,
                child: Padding(
                  padding: EdgeInsets.all(20),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      TextFormField(
                        decoration: InputDecoration(
                          border: OutlineInputBorder(
                            borderRadius: BorderRadius.all(
                              Radius.circular(50),
                            ),
                          ),
                        ),
                        initialValue: 'Email',
                      ),
                      SizedBox(height: 15),
                      TextFormField(
                        decoration: InputDecoration(
                          border: OutlineInputBorder(
                            borderRadius: BorderRadius.all(
                              Radius.circular(50),
                            ),
                          ),
                        ),
                        initialValue: 'Senha',
                      ),
                      SizedBox(height: 15),
                      SizedBox(
                        width: double.infinity,
                        height: 50,
                        child: RaisedButton(
                          shape: RoundedRectangleBorder(
                            borderRadius: BorderRadius.all(
                              Radius.circular(50),
                            ),
                          ),
                          onPressed: () {},
                          child: Text(
                            'ENTRAR',
                            style: titleTheme,
                          ),
                        ),
                      )
                    ],
                  ),
                ),
              )
            ],
          )
        ],
      ),
    );
  }
}

【问题讨论】:

标签: flutter flutter-layout flutter-dependencies flutter-animation


【解决方案1】:

将顶部的Column 替换为Flex,然后使用扩展。

Flex(
  direction:Axis.Vertical,
  child: Expanded(...)
)

【讨论】:

    猜你喜欢
    • 2019-10-14
    • 2019-11-26
    • 2021-07-11
    • 2020-09-04
    • 2023-02-03
    • 2020-11-13
    • 1970-01-01
    • 2022-08-03
    • 2021-09-02
    相关资源
    最近更新 更多