【问题标题】:Make background of CircularProgressIndicator transparent in flutter使 CircularProgressIndicator 的背景在颤动中透明
【发布时间】:2020-01-22 16:53:38
【问题描述】:

我在登录时在我的应用程序中集成了 CircularProgressIndicator。该指示器根据需要可见,但它用白色覆盖层隐藏了我的登录屏幕。我想让它的背景透明而不是白色。我试图给 CircularProgressIndicator 的背景颜色,但它没有做任何改变。这是我的代码:

    child: !_isLoading ? _loginScreen(loginBloc.state) : Center(
      child: const SizedBox(
        width: 40,
        height: 40,
        child: CircularProgressIndicator(), 
      ),
    )

谢谢。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    您可以在其子节点上使用具有不同不透明度的Stack

    例如

    Stack(
          children: <Widget>[
            Opacity(
              opacity: 1, // You can reduce this when loading to give different effect
              child: AbsorbPointer(
                absorbing: _isLoading,
                child: _loginScreen(loginBloc.state),
              ),
            ),
            Opacity(
              opacity: _isLoading ? 1.0 : 0, 
              child: CircularProgressIndicator(),
            ),
          ],
        );
    

    如果您想要有效的解决方案,我在https://github.com/yagnyam-in/proxy-flutter/blob/master/lib/widgets/loading.darthttps://github.com/yagnyam-in/proxy-flutter/blob/master/lib/widgets/async_helper.dart 中大量使用它

    【讨论】:

    • 我试过了,但是吸收指针似乎不起作用,因为我无法点击我的“loginScreen”小部件? - 我交换了它们,这很有效,但你失去了装载机的一点清晰度。
    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    相关资源
    最近更新 更多