Flutter 当我将TextFormField放入页面视图时,避免调整屏幕大小

Flutter 当我将TextFormField放入页面视图时,避免调整屏幕大小,flutter,flutter-layout,Flutter,Flutter Layout,在这个简化的代码中,我将两个TextFormField放入一个flatterPageView页面,它们是从Container扩展的另一个类,而不是任何Scaffold,现在当我点击其中一个TextFormFields时,resizeToAvoidBottom*在我的代码中不起作用 Widget build(BuildContext context) { return Consumer<ThemeManager>(builder: (context, theme, chil

在这个简化的代码中,我将两个
TextFormField
放入一个flatter
PageView
页面,它们是从
Container
扩展的另一个类,而不是任何
Scaffold
,现在当我点击其中一个
TextFormFields
时,resizeToAvoidBottom*在我的代码中不起作用

  Widget build(BuildContext context) {
    return Consumer<ThemeManager>(builder: (context, theme, child) {
      return Directionality(
        textDirection: TextDirection.rtl,
        child: Scaffold(
          key: _scaffoldKey,
          backgroundColor: theme.accentColor,
          resizeToAvoidBottomPadding: false,
          resizeToAvoidBottomInset: false,
          body: NotificationListener<OverscrollIndicatorNotification>(
            onNotification: (overScroll) {
              overScroll.disallowGlow();
              return false;
            },
            child: Container(
              width: double.infinity,
              height: double.infinity,
              child: IntrinsicHeight(
                child: Stack(
                  children: <Widget>[
                    Container(
                      width: MediaQuery.of(context).size.width,
                      height: MediaQuery.of(context).size.height - 50,
                      child: Column(
                        mainAxisSize: MainAxisSize.max,
                        children: <Widget>[
                          BuildLoginHeaderScreen(theme: theme),
                          Expanded(
                            child: PageView(
                              controller: _pageController,
                              children: <Widget>[
                                ... // contains two TextFormFields
                              ],
                            ),
                          ),
                        ],
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ),
        ),
      );
    });
  }
小部件构建(构建上下文){
返回使用者(生成器:(上下文、主题、子项){
返回方向性(
textDirection:textDirection.rtl,
孩子:脚手架(
钥匙:_scaffoldKey,
背景颜色:theme.accentColor,
resizeToAvoidBottomPadding:false,
resizeToAvoidBottomInset:false,
正文:NotificationListener(
onNotification:(overScroll){
overScroll.disallowGlow();
返回false;
},
子:容器(
宽度:double.infinity,
高度:双无限,
孩子:内在的(
子:堆栈(
儿童:[
容器(
宽度:MediaQuery.of(context).size.width,
高度:MediaQuery.of(context).size.height-50,
子:列(
mainAxisSize:mainAxisSize.max,
儿童:[
BuildLoginHeaderScreen(主题:主题),
扩大(
子:页面视图(
控制器:_pageController,
儿童:[
…//包含两个TextFormFields
],
),
),
],
),
),
],
),
),
),
),
),
);
});
}

您可以使用
resizetoavidobtompadding
将代码的适当部分用
SingleChildScrollView
包装起来。比如说

child: SingleChildScrollView( 
      child: Column(
               mainAxisSize: MainAxisSize.max,
               children: <Widget>[
                    BuildLoginHeaderScreen(theme: theme),
                    Expanded(
                        child: PageView(
                             controller: _pageController,
                             children: <Widget>[
                                ... // contains two TextFormFields
                              ],
                            ),
                     ),
              ],
      ),

),
child:SingleChildScrollView(
子:列(
mainAxisSize:mainAxisSize.max,
儿童:[
BuildLoginHeaderScreen(主题:主题),
扩大(
子:页面视图(
控制器:_pageController,
儿童:[
…//包含两个TextFormFields
],
),
),
],
),
),

这将在键盘缩小视图区域时防止像素溢出。

您可以使用
resizeToAvoidBottomPadding
将代码的适当部分用
SingleChildScrollView
包装起来。比如说

child: SingleChildScrollView( 
      child: Column(
               mainAxisSize: MainAxisSize.max,
               children: <Widget>[
                    BuildLoginHeaderScreen(theme: theme),
                    Expanded(
                        child: PageView(
                             controller: _pageController,
                             children: <Widget>[
                                ... // contains two TextFormFields
                              ],
                            ),
                     ),
              ],
      ),

),
child:SingleChildScrollView(
子:列(
mainAxisSize:mainAxisSize.max,
儿童:[
BuildLoginHeaderScreen(主题:主题),
扩大(
子:页面视图(
控制器:_pageController,
儿童:[
…//包含两个TextFormFields
],
),
),
],
),
),

这将防止键盘缩小视图区域时出现像素溢出。

您能否提供一些代码,帮助我们重现您面临的错误?你能给我们提供一些代码来帮助我们重现你所面临的错误吗?