我想实现Instagram故事之类的功能。 我想知道在这种情况下有什么小部件起作用。我在想的是水平列表视图或可忽略的视图。但是由于每个视频都必须在播放之前进行初始化,所以我想转到下一个视频或返回到上一个视频并尽快播放。因此,我想问问这样做的最佳方法是什么。有人可以分享您的想法吗? 非常感谢您的帮助!
答案 0 :(得分:1)
当我开始学习颤动时,我写的第一个应用程序是this one。在Flutter网站上可以找到如何创建此应用的分步指南。
此应用使用english_words软件包生成随机的启动名称。在代码中间有一个逻辑,当处理一定数量的行时,该逻辑将加载其余内容。
Widget _buildSuggestions() {
return ListView.builder(
padding: const EdgeInsets.all(16.0),
// The itemBuilder callback is called once per suggested word pairing,
// and places each suggestion into a ListTile row.
// For even rows, the function adds a ListTile row for the word pairing.
// For odd rows, the function adds a Divider widget to visually
// separate the entries. Note that the divider may be difficult
// to see on smaller devices.
itemBuilder: (context, i) {
// Add a one-pixel-high divider widget before each row in theListView.
if (i.isOdd) return Divider();
// The syntax "i ~/ 2" divides i by 2 and returns an integer result.
// For example: 1, 2, 3, 4, 5 becomes 0, 1, 1, 2, 2.
// This calculates the actual number of word pairings in the ListView,
// minus the divider widgets.
final index = i ~/ 2;
// If you've reached the end of the available word pairings...
if (index >= _suggestions.length) {
// ...then generate 10 more and add them to the suggestions list.
_suggestions.addAll(generateWordPairs().take(10));
}
return _buildRow(_suggestions[index]);
}
);
}
当用户到达列表末尾时,它将使应用生成新行。您也许可以看看this的使用方法。您可以在该部分代码上实现播放/停止视频的逻辑。