如何在 Flutter 中锁定手机屏幕方向? (不在选项卡/ iPad 中)

Posted

技术标签:

【中文标题】如何在 Flutter 中锁定手机屏幕方向? (不在选项卡/ iPad 中)【英文标题】:How to Lock Mobile Phone Screen Orientation In Flutter? (Not in Tabs/ iPads) 【发布时间】:2021-11-21 11:22:08 【问题描述】:

我使用颤振开发了一个应用程序。现在我只想在手机中锁定它的屏幕方向。因为我无法为移动横向模式提供功能,因为它没有足够的景观。那么,我该怎么做呢?重要的是我不想锁定选项卡/iPad 的屏幕方向。

【问题讨论】:

这个问题应该可以满足您的所有需求:***.com/questions/49484549/… 【参考方案1】:
import 'package:flutter/services.dart'; 
       
       //When you load the Widget, do something like this:
       
       @override
       void initState()
         super.initState();
        if(getDeviceType == ‘phone’)    
             SystemChrome.setPreferredOrientations([
                DeviceOrientation. portraitUp,
             ]);    
            
        else
            SystemChrome.setPreferredOrientations([    
                DeviceOrientation. portraitUp,
                DeviceOrientation.landscapeRight,
                DeviceOrientation.landscapeLeft,
          ]);
        
       
       
       
       String getDeviceType() 
           final data = MediaQueryData.fromWindow(WidgetsBinding.instance.window);
           return data.size.shortestSide < 600 ? 'phone' :'tablet';
         

【讨论】:

非常感谢@Jignesh 你解决了我的问题。它工作正常。 @ChanakaNiroshan - 如果上述答案正确,请接受。它将帮助其他人找到正确的解决方案。 @Sachin - 是的。这个答案是正确的,我感谢他的回答。接受正确答案还有其他事情要做吗? 检查这个 - ***.com/help/someone-answers

以上是关于如何在 Flutter 中锁定手机屏幕方向? (不在选项卡/ iPad 中)的主要内容,如果未能解决你的问题,请参考以下文章

锁定屏幕上的 FCM 通知 Flutter

Flutter 真正可以监听屏幕旋转的插件

JS 如何获取和监听屏幕方向的改变?

Android中Activity运行时屏幕方向与显示方式详解

如何让 Flutter 应用程序在锁定/睡眠屏幕上运行(地理定位器和计时器生成器)?

如何在纵向锁定设备时获取设备方向