listview - Flutter:如何在 Flutter 中使 ListView 的高度 match_parent
问题描述
ListView 的高度应该与窗口的高度相同。因此,当键盘打开时,用户可以向下滚动以查看键盘覆盖的小部件。并且小部件不应该改变它们的位置。我使用 Align 小部件来定位它们,并用 Stack 小部件包装。换句话说:它应该与 Instagram 登录页面完全一样。
解决方案
我希望这会有所帮助:演示:https ://i.ibb.co/g7C3K7K/dmeo.gif
import 'package:flutter/material.dart';
class LoginPage extends StatefulWidget {
@override
_LoginPageState createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final key = GlobalKey<ScaffoldState>();
@override
Widget build(BuildContext context) {
return Scaffold(
key: key,
body: SingleChildScrollView(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
"Welcome to the login page",
style: Theme.of(context).textTheme.display1,
),
TextField(
decoration: InputDecoration(hintText: "Name"),
),
FlatButton(
onPressed: () {
key.currentState.showSnackBar(SnackBar(
content:
Text("I won't say your name but stay home, stay safe!"),
));
},
child: Text("Say my name"))
],
),
),
),
);
}
}
推荐阅读
- r - R中的Sqldf查询返回0行
- mysql - 如何使用多个 % 优化查询
- sql - BigQuery,使用线性插值填充缺失值
- xml - 如何使用 powershell 更新特定节点 XML 的内部文本?
- javascript - Rust wasm:如何访问当前实例的 Webassembly.Memory(来自 Rust)?
- react-datepicker - 为什么“时刻”在这里未定义?
- python - 如何将此字符串从列表转换为二进制?
- html - 如何从顶部中心剪切图像并在那里添加一个标志,其中一半在导航栏中,一半在横幅中,如下所示
- swift - 调用 didSet 时 UILabel.text 未更新
- optimization - 如何在 SCIP 中显示截断的信息?