CircularProgressIndicator没有显示在颤动中

时间:2018-06-01 09:57:30

标签: dart flutter

我尝试在点击按钮时在我的扑动应用中显示CircularProgressIndicator,但它不会呈现循环进度条,但只要我更改代码以使用LinearProgressBar,进度条就会出现没有任何问题。所以想知道我需要显示圆形加载指示器的任何特殊设置吗?

作品

if (_isFetching) {
  return new Scaffold(
    body: new Center(
      child: new SizedBox(
        width: 40.0,
        height: 40.0,
        child: const LinearProgressIndicator(backgroundColor: Colors.black)),
  ));
}

不工作

if (_isFetching) {
  return new Scaffold(
    body: new Center(
      child: new SizedBox(
        width: 40.0,
        height: 40.0,
        child: const CircularProgressIndicator(backgroundColor: Colors.black)),
  ));
}

2 个答案:

答案 0 :(得分:1)

您可以在此处参考docs。您正在使用backgroundColor属性,该属性仅定义指标的背景颜色而不是指标的类型。我使用null作为Indeterminate类型。您可以使用valueColor [doc]属性更改指标的颜色。这是简单的代码,它工作正常。

if (_isFetching) {
          return new Scaffold(
              body: new Center(
            child: new SizedBox(
                width: 40.0,
                height: 40.0,
                child:
                    const CircularProgressIndicator(
        value: null,
        strokeWidth: 2.0,
      )),
          ));
        }

答案 1 :(得分:1)

确保进度条的值颜色与父窗口小部件的背景颜色不同。试试这个:

if (_isFetching) {
  return Scaffold(
      body: Center(
      child: SizedBox(
        width: 40.0,
        height: 40.0,
        child: const CircularProgressIndicator(
            backgroundColor: Colors.black,
            valueColor: AlwaysStoppedAnimation<Color>(Colors.red))),
  ));
}