Home
Sign Up
Sign In
Advertisement
V2EX
›
Flutter
flutter 一个页面需要横屏,其他页面需要竖屏,该怎么实现?
laravel
·
Jul 12, 2019
· 11891 views
This topic created in 2677 days ago, the information mentioned may be changed or developed.
试过的方法:
1、在 initState 里设置竖屏,但是因为 initState 只执行一次,如果是从一个横屏页面跳回以前的页面,那就保持横屏了,不会执行 initState.
2、在 widget 的 build 里执行,好像也不行
initstate
页面
横屏
执行
8 replies
•
2019-07-12 18:31:19 +08:00
Vdream
Jul 12, 2019
1
虽然我没写过 flutter 但是应该可以监听返回吧
laravel
OP
Jul 12, 2019
2
@
Vdream
我这没返回按钮,只有个 Navigator.of(context).pop(); 不知道怎么监听这个事件
laravel
OP
Jul 12, 2019
3
用 willpopscope 不行
Vdream
Jul 12, 2019
4
@
laravel
H5 和 android 我都会监听返回 但是 flutter 不应该没监听啊
hst001
Jul 12, 2019
5
https://api.flutter.dev/flutter/widgets/RouteObserver-class.html
监听路由,这个可能是你要的。
laravel
OP
Jul 12, 2019
6
我错了,其实写到哪里都可以,原因是我旋转屏幕的代码不起作用,我用的第三方的 orientation
jedrek
Jul 12, 2019
7
MaterialApp 的构造函数里有个参数:navigatorObservers,实现 NavigatorObserver 的 didPush 和 didPop 处理
laravel
OP
Jul 12, 2019
8
@
jedrek
不错 感谢
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
2088 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms ·
UTC 04:27
·
PVG 12:27
·
LAX 20:27
·
JFK 23:27
♥ Do have faith in what you're doing.
❯