31

在内部创建图像时,我有一个错误“底部溢出 199 像素ListView” ,在我用谷歌搜索之后,他们都建议我添加:

resizeToAvoidBottomPadding: false

但是,它不起作用!错误仍然存​​在。

在此处输入图像描述

SafeArea小部件也不能解决问题。这是我的布局的简短代码版本:

body: ListView(
         children:<Widget> [
           new Container(
             child: new Stack(
               children:<Widget> [
                 //THE WIDGET
                 new Container(), //THE BACKGROND IMAGE
                 new Positioned(
                   child: Column(
                     children:<Widget>[
                         new Transform(),
                         new FadeTransition(),
                         new FadeTransition(),
                         Divider(),
                         new Row(),
                         //THE IMAGE THAT I WANT TO ADD
                         new Container(
                           height: 360.0
                           decoration: BoxDecoration(
                            image: DecorationImage(
                               image: Assetimage('lake.jpg)
                        
4

9 回答 9

49

使用 Scaffold 属性“resizeToAvoidBottomPadding: false”和“SingleChildScrollView”作为 Scaffold 主体的父级:

    home: Scaffold(
          resizeToAvoidBottomInset : false,
          appBar: AppBar(
            title: Text("Registration Page"),
          ),
          body: SingleChildScrollView(
            child: RegisterUserPage(),
          )),
于 2019-08-09T11:04:42.560 回答
40

将您的内容放入 aSingleChildScrollView并添加ConstrainedBox如下:

body :SingleChildScrollView(
        child: ConstrainedBox(
          constraints: BoxConstraints(),
            child: ListView(
         children:<Widget> [
           new Container(
             child: new Stack(
               children:<Widget> [
                 //THE WIDGET
                 new Container(), //THE BACKGROND IMAGE
                 new Positioned(
                   child: Column(
                     children:<Widget>[
                         new Transform(),
                         new FadeTransition(),
                         new FadeTransition(),
                         Divider(),
                         new Row(),
                         //THE IMAGE THAT I WANT TO ADD
                         new Container(
                           height: 360.0
                           decoration: BoxDecoration(
                            image: DecorationImage(
                               image: Assetimage('lake.jpg)

这可能会使您的屏幕可滚动,并且添加约束将使其有限滚动。

于 2019-01-12T06:18:25.983 回答
11

没什么,只需像这样在Expanded中包含您的小部件

 Expanded(
    child: sectionList(),
  )

//这解决了我的问题

于 2020-01-03T05:22:48.883 回答
3

在脚手架中使用resizeToAvoidBottomInset: true,并将第一个孩子包裹在体内SingleChildScrollView解决了我的问题。

于 2020-07-15T18:32:31.760 回答
2

脚手架中的参数对我有用,包含您的小部件以解决此错误。 单子滚动视图

于 2019-10-07T07:02:09.013 回答
1

只需使用

SingleChildScrollView()

就像

      body: SingleChildScrollView(
      child:  Column(
        children: [
          widgetClassSectionButton(),
          listAttandance.isNotEmpty ? headLineContainer() : msgNothingToShow(),
          listAttandance.isNotEmpty ? widgetStudentList():widgetMsgEmpty(),
          CustomButton("Submit Data",context)
        ],
      ),
    )
于 2021-05-08T18:39:47.533 回答
0

这就是我解决它的方法,添加一个resizeToAvoidBottomInset: false,内部Scaffold()SingleChildScrollView()在体内使用。

 return Scaffold(
      resizeToAvoidBottomInset: false,
      backgroundColor: Colors.grey,
      appBar: AppBar(
        title: Text("Quotes"),
        backgroundColor: Colors.green,
      ),
      body: SingleChildScrollView(
        child: Column(
          children: quotes.map((quote) => quotesTemplete(quote)).toList(),
        ),
      )
    );
于 2021-07-14T08:08:45.740 回答
0

这对我来说很长形式:

return Scaffold(
  resizeToAvoidBottomInset: true,
  body: SingleChildScrollView(
    child: IntrinsicHeight(
      child: Form(
        key: _formKey,
        child: Column(...
于 2021-08-19T06:53:06.613 回答
0

这将项目从下到上对齐:

child: SizedBox(
              height: MediaQuery.of(context).size.height,
              child: SingleChildScrollView(
                reverse: true,
于 2021-01-22T08:43:33.677 回答