【发布时间】:2024-01-23 07:35:01
【问题描述】:
我在 Flutter 中有一个带有 Tabs 的应用程序,当我通过将设备从纵向旋转到横向来改变方向时,小部件树被重建并且小部件的状态被重置。效果是将所选选项卡重置回第一个选项卡。我想防止在方向更改期间重置状态,以便所选选项卡也不会更改。
在我的 State 类中,我使用 AutomaticKeepAliveClientMixin 并设置了:
@override
bool get wantKeepAlive => true;
但这似乎没有任何效果。
有没有办法确保在设备旋转时保留我的所有应用程序和小部件状态?
如果有帮助,我可以发布代码,尽管我希望这是一个相当笼统的问题,但我还没有想到一个简单的答案。
谢谢!
【问题讨论】:
-
你能添加一些例子吗?您的小部件树可能有问题
-
理想情况下它不会发生。请分享您的代码。
-
谢谢...我刚刚重新创建了一个简单的示例,正如您所建议的那样,它不会发生。我正在使用范围模型,我怀疑我的 ScopedModelDescendent 声明在树的某个错误位置。我现在正在努力隔离它......一旦我这样做了,我会更新这篇文章。感谢您的建议!
标签: flutter orientation state