flutter: 软键盘弹出把布局向上顶起的问题
软键盘向上弹出的时候,会使界面高度重新计算然后刷新布局,所以导致布局向上顶起的现象,解决方案如下:1. Scaffold 中需要加入resizeToAvoidBottomPadding: false ,2. body 部分用SafeArea+SingleChildScrollView+SizeBox包裹,然后设置高度,用来规避重新计算的问题:@overrideWidget build(BuildC
·
软键盘向上弹出的时候,会使界面高度重新计算然后刷新布局,所以导致布局向上顶起的现象,解决方案如下:
1. Scaffold 中需要加入resizeToAvoidBottomPadding: false ,
2. body 部分用SafeArea+SingleChildScrollView+SizeBox包裹,然后设置高度,用来规避重新计算的问题:
@override
Widget build(BuildContext context) {
final padding = MediaQuery.of(context).padding;
final height =
MediaQuery.of(context).size.height - padding.top - padding.bottom;
final width = MediaQuery.of(context).size.width;
baseContext = context;
resource = Translations.of(context);
return LifeCycleDetector(
//不重要的省略 XXXXX
child: Scaffold(
resizeToAvoidBottomPadding: false,
appBar: AppBar(
iconTheme: IconThemeData(color: BeautyColors.blue01),
backgroundColor: Colors.transparent,
centerTitle: true,
elevation: 0,
title: Text(
resource.recordWeightItemTitle,
style: Styles.text10
.merge(TextStyle(color: BeautyColors.blue01)),
),
//XXXX不重要的省略
),
body: SafeArea(
child: SingleChildScrollView(
child: SizedBox(
//TODO:height - appbarHeight-bottombarHeight-subLayoutHeight
height: height - 184,
width: width,
child: Container(
//XXXXX不重要的省略
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)