在ListView中滚动数据
我正在尝试创建一个自动滚动行的ListView。我在论坛上使用了一个惯例作为基础。我的问题是,它出现在消息“RenderBox未布局”(附图)中 ListView工作正常,直到我包含SingleChildScrollView 有人能帮我吗在ListView中滚动数据,listview,flutter,Listview,Flutter,我正在尝试创建一个自动滚动行的ListView。我在论坛上使用了一个惯例作为基础。我的问题是,它出现在消息“RenderBox未布局”(附图)中 ListView工作正常,直到我包含SingleChildScrollView 有人能帮我吗 @覆盖 小部件构建(构建上下文){ 归还新脚手架( appBar:新的appBar( 标题:新文本(“A Idade do Lobo”), 标高:0.0, 背景色:主色, ), 正文:NotificationListener( 通知:(不通知){ if(not
@覆盖
小部件构建(构建上下文){
归还新脚手架(
appBar:新的appBar(
标题:新文本(“A Idade do Lobo”),
标高:0.0,
背景色:主色,
),
正文:NotificationListener(
通知:(不通知){
if(notif是ScrollEndNotification&&scrollOn){
计时器(持续时间(秒数:1),(){
_滚动();
});
}
返回true;
},
子:SingleChildScrollView(
控制器:\ u滚动控制器,
子:新列(
儿童:[
新中心(
孩子:新的一排(
mainAxisSize:mainAxisSize.min,
儿童:[
新升起的按钮(
按下时:_showScrollPickerDialog,
子项:文本('Rolagem${U scrollSpeed}'),
),
新升起的按钮(
按下按钮:_showTomPickerDialog,
child:Text('TOM${u TOM}'),
),
],
),
),
新扩展(
子项:新建ListView.builder(
itemCount:_songDetails.length,
itemBuilder:(上下文,索引){
返回新列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
填充物(
填充:新的边缘设置。全部(5.0),
孩子:新富文本(
text:TextSpan(子项:[
新文本跨度(
文本:“${u songDetails[index].line}”,
样式:_getStyle(
_songDetails[索引]。类型,
),
识别器:新的TapGestureRecognizer()
…onTap=(){),
),
]),
),
),
],
);
},
),
),
],
),
),
),
);
}
请将错误消息作为文本而不是图像包含在内,这样它会显示在搜索引擎中,其他成员可以在需要时复制它。此外,您应该对此感兴趣。我相信这是一个无限大的问题,因为您正在listview中嵌套展开(和listview)(需要其子对象为其指定明确的大小)无收缩包装。
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('A Idade do Lobo'),
elevation: 0.0,
backgroundColor: COLOR_MAIN,
),
body: NotificationListener(
onNotification: (notif) {
if (notif is ScrollEndNotification && scrollOn) {
Timer(Duration(seconds: 1), () {
_scroll();
});
}
return true;
},
child: SingleChildScrollView(
controller: _scrollController,
child: new Column(
children: <Widget>[
new Center(
child: new Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
new RaisedButton(
onPressed: _showScrollPickerDialog,
child: Text('Rolagem ${_scrollSpeed}'),
),
new RaisedButton(
onPressed: _showTomPickerDialog,
child: Text('TOM ${_tom}'),
),
],
),
),
new Expanded(
child: new ListView.builder(
itemCount: _songDetails.length,
itemBuilder: (context, index) {
return new Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: new EdgeInsets.all(5.0),
child: new RichText(
text: TextSpan(children: [
new TextSpan(
text: '${_songDetails[index].line}',
style: _getStyle(
_songDetails[index].type,
),
recognizer: new TapGestureRecognizer()
..onTap = () {),
),
]),
),
),
],
);
},
),
),
],
),
),
),
);
}