当前位置 : 主页 > 手机开发 > 无线 >

mobile – Flutter(Dart):渲染/ A RenderFlex溢出导致的异常

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有Flutter(Dart)RenderFlex溢出像素的问题.渲染库的一个例外. 如何管理或应用滚动功能到我的应用页面视图,并避免Flutter使用以下消息呈现异常: A RenderFlex overflowed by 28 pixels on the bottom. 如
我有Flutter(Dart)RenderFlex溢出像素的问题.渲染库的一个例外.

如何管理或应用滚动功能到我的应用页面视图,并避免Flutter使用以下消息呈现异常:

A RenderFlex overflowed by 28 pixels on the bottom.

如果你有任何机会需要完整的日志来帮助我在这里:

enter image description here

在热重载时,它根据消息在底部出现黄色/黑色条纹.

这是我可以使用可滚动小部件管理的东西吗?或者我可以声明我的小部件以控制它?

完整代码,如果需要(我更改了文本数据,但假设出现的文本长于屏幕大小,因此出现错误):

@override
  Widget build(BuildContext context) {
    return new DefaultTabController(
        length: 3,
        child: new Scaffold(
          appBar: new AppBar(
            bottom: new TabBar(
              tabs: [
                new Tab(text: "xxx",),
                new Tab(text: "xxx",),
                new Tab(text: "xxx",),
              ],
            ),
            title: new Text(data["xxx"]),
          ),
          body: new TabBarView(
            children: [
              new Column(
                children: <Widget>[
                  new Text(data["xxx"],
                        style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.blue,
                              fontSize: 16.0
                        ),),
                  new Text(data["xxx"],
                        style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.blue,
                              fontSize: 10.0
                        ),),
                  new Text(data["xxx"],
                        style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.blue,
                              fontSize: 16.0
                        ),),
                  new Text(data["xxx"],
                        style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.blue,
                              fontSize: 8.0
                        ),
                      ),
                  new Text(data["xxx"],
                        style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.blue,
                              fontSize: 8.0
                        ),),

                  new Row(
                    children: <Widget>[
                      new Expanded(
                        child: new Text("xxx"),
                      ),
                      new Expanded(
                        child: new Icon(Icons.file_download, color: Colors.green, size: 30.0,),
                      ),
                    ],
                  ),

                  new Divider(),
                  new Text("xxx", 
                            style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.red,
                              fontSize: 16.0
                      ),
                  ),
                ],
              ),

              new ListView.builder(
                itemBuilder: (BuildContext context, int index) => new EntryItem(_lstTiles[index]),
                itemCount: _lstTiles.length,
              ),

              new Column(
                children: <Widget>[
                  new Text(data["xxx"], 
                            style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.green[900],
                              fontSize: 16.0
                      ),
                  ),
                  new Text(data["xxx"], 
                            style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.green[900],
                              fontSize: 16.0
                      ),),
                  new Text(data["xxx"]),
                  new ListTile(title: new Text("xxx")),
                  new Text(data["xxx"]),
                  new ListTile(title: new Text("xxx")),
                  new Divider(),
                  new Text("xxx", 
                            style: new TextStyle(
                              fontStyle: FontStyle.italic,
                              color: Colors.red,
                              fontSize: 16.0
                      ),
                  ),
                ],
              ),
            ],
          ),
        ),
      );
  }
这是一个非常常见的问题,尤其是当您开始在多个设备和方向上测试您的应用时. Flutter的Widget画廊有一个部分涵盖各种滚动小部件:

https://flutter.io/widgets/scrolling/

我建议将整个内容包装在SingleChildScrollView中,或使用滚动ListView.

网友评论