在我的一个 flutter 页面上,我需要将屏幕设置为横向模式并锁定它,以使其不能旋转到纵向模式,而只能在一页上旋转。因此需要一种即时启用此功能的方法。有人知道怎么做吗?
我希望它可以向左旋转风景或向右旋转风景,只是不进入纵向模式。
最佳答案
首先导入服务包:import 'package:flutter/services.dart';
这将使您可以访问SystemChrome
类,即"Controls specific aspects of the operating system's graphical interface and how it interacts with the application."
加载小部件时,请执行以下操作:
@override
void initState(){
super.initState();
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
]);
}
然后当我离开页面时,将其恢复为正常状态,如下所示:
@override
dispose(){
SystemChrome.setPreferredOrientations([
DeviceOrientation.landscapeRight,
DeviceOrientation.landscapeLeft,
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);
super.dispose();
}