颤振-底部溢出119个像素

时间:2019-01-12 02:58:39

标签: dart flutter

在ListView中创建图像时出现错误“ 底部溢出199像素”,在我搜索完Google之后,所有这些都建议我添加:

resizeToAvoidBottomPadding: false

但是,它无效!该错误仍然存​​在。

enter image description here

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)

9 个答案:

答案 0 :(得分:5)

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

 class RegisterApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: "Registration Page",
      home: Scaffold(
          resizeToAvoidBottomPadding: false,
          appBar: AppBar(
            title: Text("Registration Page"),
          ),
          body: SingleChildScrollView(
            child: RegisterUser(),
          )),
    );
  }
}

答案 1 :(得分:4)

将您的内容放入 SingleChildScrollView ,并添加 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)

这可能会使您的屏幕可滚动,并且添加约束将使其变为有限滚动。 希望对您有所帮助:)

答案 2 :(得分:3)

没什么,只需将您的小工具包含在展开这样的

int minutes = 120;

int h = minutes / 60;
int m = minutes % 60;

String.format("%02d:%02d",h,m); // output : "02:00"
String.format("%d:%d",h,m); // output : "2:0"

//这解决了我的问题

答案 3 :(得分:2)

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

答案 4 :(得分:2)

Scaffold(
  resizeToAvoidBottomPadding: false, 

答案 5 :(得分:1)

脚手架中的参数对我有用,请为该错误添加小部件。       单子滚动视图

答案 6 :(得分:0)

这将项目从下到上对齐:

child: SizedBox(
              height: MediaQuery.of(context).size.height,
              child: SingleChildScrollView(
                reverse: true,

答案 7 :(得分:0)

直接使用

SingleChildScrollView()

喜欢

      body: SingleChildScrollView(
      child:  Column(
        children: [
          widgetClassSectionButton(),
          listAttandance.isNotEmpty ? headLineContainer() : msgNothingToShow(),
          listAttandance.isNotEmpty ? widgetStudentList():widgetMsgEmpty(),
          CustomButton("Submit Data",context)
        ],
      ),
    )

答案 8 :(得分:-1)

这就是我解决它的方法,在 resizeToAvoidBottomInset: false, 内添加一个 Scaffold() 并在 body 内使用 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(),
        ),
      )
    );