【发布时间】:2021-05-15 07:57:40
【问题描述】:
我是 Flutter 的初学者,我做了这个登录页面,在 Android 模拟器中运行后看起来不错:
Here is a screenshot of the result(Column() 占据整个页面)
但是在显示键盘I get this result 之后,我收到了这个错误消息A RenderFlex overflowed by 8.7 pixels on the bottom 并且 Column() 并没有占据整个页面。
我在 google 中搜索并阅读了一些答案,告诉我使用 Listview 可以解决问题,但对我来说这不是一种有效的方法,因为我认为在我不使用的页面中使用列表需要滚动是没用的。
这是我的代码:
import 'package:flutter/material.dart';
class Login extends StatefulWidget {
const Login({Key key}) : super(key: key);
@override
_LoginState createState() => _LoginState();
}
class _LoginState extends State<Login> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(20.0),
child: Column(
children: [
TextField(onChanged: (v) {}),
TextField(onChanged: (v) {}),
TextButton(onPressed: () {}, child: Text('Login')),
TextButton(onPressed: () {}, child: Text('Register')),
],
),
),
),
),
);
}
}
【问题讨论】:
-
为什么觉得不需要滚动?如果有人在横向模式下使用您的应用,而您的元素太大而无法显示在屏幕上怎么办?
-
嘿!,感谢您的关注,我的问题的目的是了解为什么列变得太小(甚至比显示键盘后的可用区域还小),请参阅上图截图来理解我在说什么
-
你能告诉我们你的
main函数吗?你是直接在main中使用Login还是里面有别的东西?还有模拟器的详细信息。因为我没有得到这个。
标签: flutter