在我的一个 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();
}

08-06 07:17