[英]How to make Widget not overflow ListView on Flutter Web
上下文:我正在嘗試使用 Flutter 制作一個網絡應用程序 - 所以這一切都在 Chrome 中
問題:我有一個來自charts_flutter庫的圖表,它在列內呈現正常。 問題是我希望能夠滾動並在圖表下方添加更多內容。 當我嘗試將列更改為 ListView 時,它溢出(似乎 Chart 試圖盡可能大並且 ListView 具有無限高度)。 我不知道如何解決這個問題。
當前代碼:只是腳手架,因為這就是我認為在這里很重要的所有內容
Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title),
),
body: ListView(
children: <Widget>[
Row(
children: <Widget>[
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 1")),
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 2")),
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 3")),
],
mainAxisAlignment: MainAxisAlignment.center,
),
Flexible(child: GroupedStackedBarChart.withRandomData()),
],
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
buddy 只是用Expanded
包裝你的Listview
並用Column
像這樣擴展你的小部件:
body: Column(
children: <Widget>[
Expanded(
child: ListView(
children: <Widget>[
],
),
),
我認為Flexible
會導致圖表填充父級的高度,這是無限的。 嘗試將其包裝在Column
以提供預先計算的大小。
body: ListView(
children: <Widget>[
Row(
children: <Widget>[
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 1")),
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 2")),
FlatButton(onPressed: (){
print("flat button pressed");
}, child: Text("Flat Button 3")),
],
mainAxisAlignment: MainAxisAlignment.center,
),
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [GroupedStackedBarChart.withRandomData()],
),
],
),
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.