如何在颤动中向列添加滚动
How to add scroll to the column in flutter
我创建了一个在单列中包含多个小部件的屏幕。我得到了错误。然后我更新了列中容器的高度,然后屏幕不会滚动,因为它有一些固定大小。
然后我从列移动到 ListView
但我的小部件仍然不滚动。
new ListView(
shrinkWrap: true,
children: <Widget>[
// Author information
new Container(
height: MediaQuery
.of(context)
.size
.height * .075,
width: double.infinity,
padding: const EdgeInsets.only(
top: 10.00, right: 10.00),
child: new Row(
children: <Widget>[
new CircleAvatar(
backgroundColor: new Color(0xFF535386),
foregroundColor: new Color(0xFFF4F4F4),
backgroundImage: new NetworkImage(
_feed.authorImageUrl),
radius: 30.00,
child: new Text(
_feed.authorName.substring(0, 1)
.toUpperCase()),
),
new Padding(padding: EdgeInsets.only(
bottom: 5.00, top: 2.00, left: 5.00),
child: new Column(
crossAxisAlignment: CrossAxisAlignment
.start,
children: <Widget>[
new Text(
_feed.authorName,
textAlign: TextAlign.start,
softWrap: true,
style: new TextStyle(
fontSize: 20.0,
),
),
new Text(_feed.dateTime,
textAlign: TextAlign.start,),
],
)),
],
),
),
// Title
new Padding(padding: const EdgeInsets.only(
top: 10.00, left: 10.00),
child: new Text(
_feed.title, textAlign: TextAlign.start,),
),
// content
new Container(
child: new Text(
_feed.content, textAlign: TextAlign.start,),
),
],
),
你的 ListView
似乎没问题,但我猜它被包裹在一个固定大小的 Widget 中,如 Column
或 Row
(黄色和黑色错误意味着内容比可用的 space) 大,因此您应该将 ListView
包裹在 Expanded
小部件中,如下所示:
new Expanded(
child: new ListView(
shrinkWrap: true,
children: <Widget>[
//Your content
],
)
)
我创建了一个在单列中包含多个小部件的屏幕。我得到了错误。然后我更新了列中容器的高度,然后屏幕不会滚动,因为它有一些固定大小。
然后我从列移动到 ListView
但我的小部件仍然不滚动。
new ListView(
shrinkWrap: true,
children: <Widget>[
// Author information
new Container(
height: MediaQuery
.of(context)
.size
.height * .075,
width: double.infinity,
padding: const EdgeInsets.only(
top: 10.00, right: 10.00),
child: new Row(
children: <Widget>[
new CircleAvatar(
backgroundColor: new Color(0xFF535386),
foregroundColor: new Color(0xFFF4F4F4),
backgroundImage: new NetworkImage(
_feed.authorImageUrl),
radius: 30.00,
child: new Text(
_feed.authorName.substring(0, 1)
.toUpperCase()),
),
new Padding(padding: EdgeInsets.only(
bottom: 5.00, top: 2.00, left: 5.00),
child: new Column(
crossAxisAlignment: CrossAxisAlignment
.start,
children: <Widget>[
new Text(
_feed.authorName,
textAlign: TextAlign.start,
softWrap: true,
style: new TextStyle(
fontSize: 20.0,
),
),
new Text(_feed.dateTime,
textAlign: TextAlign.start,),
],
)),
],
),
),
// Title
new Padding(padding: const EdgeInsets.only(
top: 10.00, left: 10.00),
child: new Text(
_feed.title, textAlign: TextAlign.start,),
),
// content
new Container(
child: new Text(
_feed.content, textAlign: TextAlign.start,),
),
],
),
你的 ListView
似乎没问题,但我猜它被包裹在一个固定大小的 Widget 中,如 Column
或 Row
(黄色和黑色错误意味着内容比可用的 space) 大,因此您应该将 ListView
包裹在 Expanded
小部件中,如下所示:
new Expanded(
child: new ListView(
shrinkWrap: true,
children: <Widget>[
//Your content
],
)
)