在背景图像之前推送路线时颤动白色闪烁

Posted

技术标签:

【中文标题】在背景图像之前推送路线时颤动白色闪烁【英文标题】:Flutter white flicker when pushing route before backgroundImage 【发布时间】:2020-06-25 13:34:57 【问题描述】:

在我的 Flutter 应用中,闪屏动画完成后,它会推送到 HomeRoute

HomeRoute 有一个backgropundImage,旨在覆盖整个屏幕:

HomeRoute.dart:

@override
  Widget build(BuildContext context) 
    return Scaffold(
      body: Container(
          width: MediaQuery.of(context).size.width,
          height: MediaQuery.of(context).size.height,
          decoration: BoxDecoration(
              image: DecorationImage(
                  image: AssetImage("assets/images/mainBgndsmall.png"),
                  fit: BoxFit.cover)),
          child: SafeArea(child: _buildBody())),
    );
  

路由推送时,背景图片显示前有白色闪烁。

这是正常行为还是我在尝试将图像作为背景时做错了什么?

图像大小约为 500KB 或 600KB aprox。 PNG 图像。

【问题讨论】:

这个问题有什么进展吗? 我面临着与 AnimatedPositioned 小部件相同的问题.. 嗨@codeKiller,你有什么解决办法吗? 【参考方案1】:

图像尚未加载,这就是容器在图像出现之前加载的原因

您可以通过使用将来的构建器来修复它,该构建器将显示一个循环进度指示器,直到图像加载并准备好渲染

【讨论】:

以上是关于在背景图像之前推送路线时颤动白色闪烁的主要内容,如果未能解决你的问题,请参考以下文章

iOS7 UIButton图像闪烁

切换到新屏幕时白色闪烁且背景为深色?

具有清晰背景的 Segue 推送动画在 iOS 7 上闪烁

使用 imagecopymerge 添加时具有透明背景的图像变为白色

带有黑色背景的 alpha 图像绘制其他白色...?

如何在颤动中更改容器小部件中的背景图像