使用事件流在 Flutter 中获取下载进度
Posted
技术标签:
【中文标题】使用事件流在 Flutter 中获取下载进度【英文标题】:Get download Progress in Flutter using event stream 【发布时间】:2020-12-07 19:35:16 【问题描述】:我正在尝试在 Flutter 应用程序中使用 CircularProgressIndicator 实现下载进度指示器。问题是最后一个开发人员已经使用 EventChannel 实现了下载功能,我需要有关如何获取下载进度数据以用作 CIrcularProgressIndicator 的值参数的帮助。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:1。创建频道:
const eventChannel = EventChannel('name_of_channel');
2。获取用于在此频道上接收事件的广播流:
final progress$ = eventChannel.receiveBroadcastStream() as Stream<double>; // this stream emits values from 0.0 to 1.0.
方法Stream receiveBroadcastStream ([dynamic arguments])
也接受一个参数arguments
,可以基于native代码传递。
3。基于进度流构建 Widget:
StreamBuilder<double>(
initialData: 0,
stream: progress$,
builder: (context, snapshot)
final progress = snapshot.data;
return CircularProgressIndicator(value: progress);
)
希望这能解决您的问题。
【讨论】:
以上是关于使用事件流在 Flutter 中获取下载进度的主要内容,如果未能解决你的问题,请参考以下文章