我试图建立一个登录屏幕,其中包含电话号码字段顶部沿着一个图像和登录按钮在底部,只要我点击电话号码字段键盘上升,但我的'登录按钮'隐藏在键盘后面,我已经使用了“SingleChildScrollView”,以便当键盘上升的页面变得可滚动,但登录按钮不会出现在键盘的顶部。
下面是代码的片段:
return Scaffold(
backgroundColor: white.color,
body: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
child: Text(
'Enter your mobile number',
style: TextStyle(
fontSize: headSize.fontSize,
fontWeight: FontWeight.w400,
color: black.color,
fontFamily: 'ProductSans',
),
),
),
Container(
height: screenHeight / 15,
child: Center(
child: SizedBox(
height: screenHeight / 6,
width: double.infinity,
child: RaisedButton(
color: indigo.color,
shape: borderRadius,
child: Text(
"Continue",
....
3条答案
按热度按时间htrmnn0y1#
我可以给予你一个提示,因为你的代码有点难以理解,你可以使用MediaQuery.of(context). viewInsets.bottom。现在的问题是它能做什么,以及它将如何帮助我。
1.它的作用:它将提供底部填充,这应该避免(基本上是由系统UI在您的情况下键盘占用空间的填充),因为它是一个继承的小部件,所以它会在您打开键盘时自行构建。
2.如何用途:您可以在列的底部创建一个空容器或大小框,并设置其height= MediaQuery.of(context). viewInsets.bottom,然后将列 Package 在单个子滚动视图中。
toe950272#
尝试用
screenHeight / 15 and screenHeight / 6
替换,例如100,并检查结果。顺便说一下,你正在设置父对象的高度小于子对象的高度。我想知道为什么?:)
例如,如果screenHeight = 100
100/15 = 6.6亲本
100/6 = 16.6个儿童
dba5bblo3#
我也遇到了同样的问题。将
MaterialApp
设置为父节点和主节点widget
为我解决了这个问题。