小编Moh*_*laa的帖子

Flutter resizeToAvoidBottomPadding 阻塞整个屏幕

我在屏幕的末尾有多个 textFields 和按钮,当我设置 resizeToAvoidBottomPadding=false它阻止整个屏幕并且SingleChildScrollView不能再滚动时,我只想处理按钮以使其位于键盘后面而不是在它上面

@override
Widget build(BuildContext context) {
  return Scaffold(
    resizeToAvoidBottomPadding: false,
    body: body(context),
  );
}

Widget body(BuildContext context) {
  return Stack(
    children: <Widget>[
      SafeArea(
          child: NotificationListener<OverscrollIndicatorNotification>(
              onNotification: (OverscrollIndicatorNotification overscroll) {
                overscroll.disallowGlow();
                return false;
              },
              child: Container(
                height: double.infinity,
                child: SingleChildScrollView(
                    padding: EdgeInsets.only(
                      left: 7 *
                          (SizeConfig.isMobilePortrait
                              ? SizeConfig.widthMultiplier
                              : SizeConfig.heightMultiplier),
                      top: 20 *
                          (SizeConfig.isMobilePortrait
                              ? SizeConfig.heightMultiplier
                              : SizeConfig.widthMultiplier),
                    ),
                    physics: AlwaysScrollableScrollPhysics(),
                    child: Form(
                      autovalidate: false,
                      key: _formKey,
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: <Widget>[
                          Container(
                              margin: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

2
推荐指数
1
解决办法
2378
查看次数

标签 统计

dart ×1

flutter ×1