【问题标题】:Flutter Navigator.Push choppy and shows slight after-imageFlutter Navigator.Push 不连贯并显示轻微的残像
【发布时间】:2021-05-23 20:34:01
【问题描述】:

当我使用内置导航器推送新屏幕时,我遇到了一些恼人的奇怪白色闪烁,如下图所示。

我在整个应用程序中都遇到了问题,前一个屏幕停留了半秒,有点像后像,而新屏幕在顶部是动画的,这让体验非常不愉快。即使在发布模式下也会发生这种情况。谁能帮我确保过渡顺利?

推送第二屏的构建方法:

Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text('Title'),),
        body: Card(
            child: ListTile(
                leading: Icon(Icons.info),
                title: Text(
                    'Go to screen 2',
                    style: TextStyle(fontSize: 25),
                ),
                onTap: () {
                    Navigator.push(context, MaterialPageRoute(builder: (_) {
                        return AboutScreen();
                    }));
                },
            ),
        )
    );
}

【问题讨论】:

  • 如果你在调试模式下运行,性能会比在发布模式下慢flutter run --release
  • 是的,正如我在帖子中提到的,即使在发布模式下也会发生这种情况。
  • 哦,抱歉,您在真实设备上也体验过吗?
  • 是的,在我的三星手机上我体验过。我唯一的预感是它与 ListTile 有关,因为我用 0 秒的动画进行了尝试,第二个屏幕完全闪烁,就好像它被点击了一样。因此,我将尝试不使用列表图块来查看是否可以修复它。更新:使用普通按钮仍然会导致闪烁,所以不是列表图块导致问题
  • 我建议添加到您的MaterialApp showPerformanceOverlay: true,如果它是垃圾,请在颤振的回购中打开一个问题

标签: flutter


【解决方案1】:

令人沮丧的是,这一切都与我手动设置脚手架颜色的事实有关(在代码 sn-p 中,颜色是从主题中的 main.dart 设置的)。如果我移除脚手架颜色(颜色为 Colors.white30),我所有的路线导航问题都会消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-12
    • 2020-10-21
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2021-01-30
    • 2023-01-17
    • 2017-10-11
    相关资源
    最近更新 更多