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

Flutter相关问答推荐

来自另一个屏幕的数据

当MyChangeNotifier更改时如何计算函数,而无需在构建方法中进行不必要的调用- Flutter

SupabaseFlutter 集成问题:无法更新行

在Flutter 中创建自定义形状

Flutter在CustomPainter的右上角和左上角添加了2条曲线

Flutter类调用另一个类中的另一个方法失败

如何使 dart 函数变得通用?

ScaffoldMessenger 在等待键下方不起作用

Flutter:如何设置 PersistentFooterButtons 背景?

如何在Flutter中显示ListView Builder区域外的列表数据?

使用堆栈的自定义按钮

如何在 flutter 中使用带有有效负载数据的重定向来执行 firebase 推送通知.?

当我将主题更改为深色然后返回浅色模式时,Getx 会Flutter 更改主题,它不会加载我的自定义主题

Flutter sliver 持久化

flutter 创建一个带有 2 个图标的按钮

有任何方法可以在应用程序移动背景恢复时显示 appopenAd

使用 onPressed 切换到另一个屏幕无法正常工作

使用 Chaquopy 插件后 Gradle Sync 无法正常工作

Flutter:滚动一个ListWheelScrollView,无法获取选中项的状态

为什么这个循环只发生一次?Flutter /dart