flutter之进度条

flutter中进度条中的线性进度条,实现其3秒走完的功能搞了一段时间,主要是要使用await方法等待一段时间才去改变其参数.

for(int i = 1; i <= 30; i++) {
        // ignore: close_sinks
        await Socket.connect("1.1.1.1", 8888, timeout: new Duration(milliseconds: 100)).catchError(
                (e) { isShowProgressBar = true; });
        String pText = "正在更新$version版本,请等待";
        switch(i%4) {
          case 1:
            pText = "正在更新$version版本,请等待.";
            break;
          case 2:
            pText = "正在更新$version版本,请等待..";
            break;
          case 3:
            pText = "正在更新$version版本,请等待...";
            break;
        }
        setState(() {
          progressBar = Center(
            child: Container(
              margin: const EdgeInsets.fromLTRB(36.0, 0.0, 36.0, 60.0),
              child: new Column(
                verticalDirection: VerticalDirection.up,
                children: <Widget> [
                  _getNameText(context, pText),
                  new LinearProgressIndicator(value: i/30),
                ]
              ),
            ),
          );
        });
      }

其中1.1.1.1是随便填的一个有效的ip,这样就必须等待await的结果才改变,之前一直不能原因是异步的机制导致逻辑虽然正确但是却不能实现想要的效果。我这使用socket连接设置timeout时间,还可以自己写返回Future的方法去写。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值