flutter - 如何创建使所需元素居中的列表视图
问题描述
我正在做类似于此视频的操作:https ://youtu.be/fpqHUp4Sag0
使用以下代码生成列表视图,但是当以这种方式使用控制器时,元素位于列表视图的顶部,我需要将其居中
Widget _buildLyric() {
return ListView.builder(
itemBuilder: (BuildContext context, int index) => _buildPhrase(lyric[index]),
itemCount: lyric.length,
itemExtent: 90.0,
controller: _scrollController,
);
}
void goToNext() {
i += 1;
if (i == lyric.length - 1) {
setState(() {
finishedSync = true;
});
}
syncLyric.addPhrase(
lyric[i], playerController.value.position.inMilliseconds);
_scrollController.animateTo(i*90.0,
curve: Curves.ease, duration: new Duration(milliseconds: 300));
}
解决方案
Using center
and shrinkWrap: true
Center(
child: new ListView.builder(
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
return Text("Centered item");
},
),
);
推荐阅读
- typeahead.js - Typeahead JS“总是使用远程”
- javascript - 未捕获的 ReferenceError:未定义 showimg
- http - HTTP 文本有效负载的内容长度的正确值
- c# - BouncyCastle 时间戳协议 | 如何从 TimeStampToken 获取原始哈希?
- reactjs - 如何将componentDidMount函数传递给React中的深层子级
- neo4j - 如何在 Neo4j 节点中显示特定属性
- r - 可以在 R 中读取 .wma 声音文件吗?
- c++ - g++ 内联调用 always_inline "int _rdrand16_step()" 失败
- java - HttpHeaders getFirst() 不区分大小写
- javascript - 当我尝试使用 window.print() 打印两个或更多文档时,只有第一个显示内容