flutter 一个页面需要横屏,其他页面需要竖屏,该怎么实现?

2019-07-12 10:57:21 +08:00
 laravel
试过的方法:
1、在 initState 里设置竖屏,但是因为 initState 只执行一次,如果是从一个横屏页面跳回以前的页面,那就保持横屏了,不会执行 initState.

2、在 widget 的 build 里执行,好像也不行
10841 次点击
所在节点    Flutter
8 条回复
Vdream
2019-07-12 11:01:13 +08:00
虽然我没写过 flutter 但是应该可以监听返回吧
laravel
2019-07-12 11:38:28 +08:00
@Vdream 我这没返回按钮,只有个 Navigator.of(context).pop(); 不知道怎么监听这个事件
laravel
2019-07-12 11:38:50 +08:00
用 willpopscope 不行
Vdream
2019-07-12 12:13:44 +08:00
@laravel H5 和 android 我都会监听返回 但是 flutter 不应该没监听啊
hst001
2019-07-12 14:06:57 +08:00
laravel
2019-07-12 14:46:29 +08:00
我错了,其实写到哪里都可以,原因是我旋转屏幕的代码不起作用,我用的第三方的 orientation
jedrek
2019-07-12 16:24:37 +08:00
MaterialApp 的构造函数里有个参数:navigatorObservers,实现 NavigatorObserver 的 didPush 和 didPop 处理
laravel
2019-07-12 18:31:19 +08:00
@jedrek 不错 感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/582286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX