gpt4 book ai didi

dart - 在不推送新 View 的情况下更新脚手架内容(appBar 标题和正文)?

转载 作者:IT王子 更新时间:2023-10-29 07:01:24 26 4
gpt4 key购买 nike

假设我有一个主要的顶级 Scaffold,带有 appBarbody

我在 appBar 和它的 onTap 中有一个按钮,我这样做:

Navigator.push(
context,
new MaterialPageRoute(builder: (_) => new DogeWidget())
);

现在DogeWidget也是一个Scaffold,因为我喜欢appBar的默认渲染。

发生了什么:

  • 我在屏幕底部看到 DogeWidget 幻灯片。这是整个脚手架的滑动,而不仅仅是 body 。

我想看到的:

  • 主 appBar 的内容发生变化,其汉堡包变为“后退箭头”。底部没有滑动,只是普通的淡入淡出。

不知道是自己写还是Flutter有什么可以提供的?

AFAICT,Gallery做我想做的事(例如点击“排版”项目)——尽管我的代码几乎是文字复制和粘贴,但行为是不同的。为什么?

最佳答案

有一段时间,我们有一个 hack,通过将 AppBar 设为 Hero 来实现这一点,但它不是一个好的实现,并且造成了比它值得的更多的麻烦,所以我们放弃了它。这可能就是您所看到的。

使用 Navigator 和当今的 Material 框架并没有简单的方法来做到这一点,但如果您愿意,您当然可以在执行此操作的小部件层之上实现小部件。不过,您可能可以通过在 MaterialApp 的 body 中放置一个 Navigator 来实现它,然后手动替换 AppBar(可能通过像 AnimatedCrossFade 这样的交叉淡入淡出小部件)。

正确解决这个问题是我们打算在适当的时候做的事情,但我们目前优先考虑错误和 API 稳定性,所以我们不打算在近期( future 几个月)内做这件事。

关于dart - 在不推送新 View 的情况下更新脚手架内容(appBar 标题和正文)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43386310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com