解决Flutter输入法遮挡页面问题
这个问题看网上有很多解决方法,发现几乎都是错误的,并且麻烦,这里有个简单的方法,借助bottom:
MediaQuery.of(context).padding.bottom;
这个bottom的值是系统计算好的,表示屏幕的底部距离,如果输入法被打开了,bottom就等于输入法的高度,如果苹果手机有安全距离,那么bottom也会将安全距离计算进去
非常好用。最终效果就是页面被输入法拖起来,然后出现滚动条,不会遮挡页面和输入框。
那么代码:
Scaffold(
body: Stack(
fit: StackFit.expand,
children: [
Positioned(
top: 0,
left: 0,
width: MediaQuery.of(context).size.width,
bottom: MediaQuery.of(context).padding.bottom,
child: SingleChildScrollView(
physics: ClampingScrollPhysics(),
reverse: false,
controller: _controller,
child:Container()
)
)
]
)
)
本站内容来源于作者发布和网络转载,如有版权相关问题请及时与我们取得联系,我们将立即删除。