gpt4 book ai didi

flutter - 返回主页时如何设置首选方向

转载 作者:IT王子 更新时间:2023-10-29 06:42:32 29 4
gpt4 key购买 nike

如何解决按下后退按钮时屏幕方向无法恢复正常?

此处源代码:https://github.com/iyansr/traffic-manager-master

我在两个页面都设置了Orientation inside and outside void initState(),但是当我回到主页时,屏幕方向仍然是横向的。

我希望主页始终处于肖像模式第二页总是横向的

在 home.dart 上:

...
@override
void initState() {
super.initState();
// Set portrait orientation
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitDown,
DeviceOrientation.portraitUp,
]);

_dateTime = DateTime.parse(initDate);
}
...

在 counterpage.dart(横向)上:

class _CounterPageState extends State<CounterPage> {
@override
void initState() {
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeLeft,
DeviceOrientation.landscapeRight,
]);
}
...

最佳答案

当您返回时不会调用 initState(),因为您的旧页面仍在创建,但未处于事件状态。也许这里最简单的结果将在第二个屏幕上的 dispose() 方法中调用 setPrefferedOrintations()

class _CounterPageState extends State<CounterPage> {
@override
void initState() {
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeLeft,
DeviceOrientation.landscapeRight,
]);
}

@override
void dispose() {
// Set portrait orientation
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitDown,
DeviceOrientation.portraitUp,
]);
super.dispose();
}
}

关于flutter - 返回主页时如何设置首选方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57001806/

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