flutter “CircularProgressIndicator”微件抖动破坏微件对齐

xwbd5t1u  于 2022-12-05  发布在  Flutter
关注(0)|答案(1)|浏览(116)

我目前正在构建一个使用flutter的报废应用程序。
我遇到了一个问题,当我试图显示一个加载器,而报废,加载器的幽灵似乎完全打破了我的列的交叉轴对齐。
首先,我的应用程序如下所示:
https://i.stack.imgur.com/6Tbz7.png
然后,当我点击“报废按钮”,我更新我的状态,以显示一个加载器,这发生了:
https://i.stack.imgur.com/0MIi6.png
以下是呈现应用程序的两段代码:

  • 渲染Flutter徽标的主类和主部件 *
class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.start,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            FlutterLogo(
              size: 400,
              style: FlutterLogoStyle.horizontal,
            ),
            ScrapBody(),
          ],
        ),
      ),
    );
  }
}
  • 包含渲染管理逻辑的主Widget如下所示 *
Widget build(BuildContext context) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        ScrapForm(
          scrap: scrap,
          exportToCsv: exportToCsv,
          isScrapSuccess: isScrapSuccess,
        ),
        isLoading
            // ? Container()
            ? Column(
                children: [
                  CircularProgressIndicator(),
                  Text(
                    "Scrapping page ${pageScrapIndex.toString()} on ${totalPages.toString()}",
                  ),
                ],
              )
            : Column(
                children: [
                  ScrapResult(
                    reviewerListResult: reviewerList,
                  ),
                ],
              ),
      ],
    );
  }

正如您所看到的,我试图用“crossAxisAlignment:CrossAxisAlignment.center“,但它不起作用,当我渲染我的加载器时,小部件一直在左边,而且只有当我渲染我的加载器时。
经过多次搜索循环加载器和小部件核心的外观,我没有找到任何可以解释我的情况,任何帮助将是如此感激,提前感谢。

3zwtqj6y

3zwtqj6y1#

试着用Container Package 你的基本列,并将它的宽度设为double.infinity。如果第一个解决方案不起作用,还可以为循环进度对话框的Column添加crossAxisAlignment: CrossAxisAlignment.center

相关问题