You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux上以竖屏模式测试Flutter应用?

在Linux上让Flutter应用以竖屏模式启动的解决方案

问题说明

你的Flutter应用在Android设备上能正常竖屏显示,但在Linux环境下用flutter -d linux run启动时始终横屏,且通过SystemChrome.setPreferredOrientations设置方向无效——这是因为该API仅对移动平台(Android/iOS)生效,桌面平台的窗口方向由系统窗口管理器控制,不受应用内部方向设置影响。

可行解决方案

1. 命令行直接指定窗口尺寸(最快捷)

启动时通过--window-size参数直接设置竖屏比例的窗口大小,比如模拟手机常见的480x800分辨率:

flutter run -d linux --window-size 480x800

其中第一个数值是宽度,第二个是高度,只要保证高度大于宽度,就能实现竖屏窗口效果。

2. 代码中设置初始窗口尺寸(启动即固定竖屏)

如果希望每次启动都自动以竖屏窗口打开,可以通过Flutter的dart:ui包设置初始窗口大小:

import 'dart:ui';
import 'package:flutter/material.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // 设置竖屏窗口尺寸,可根据需要调整数值
  window.setWindowSize(const Size(480, 800));
  // 可选:禁止用户调整窗口大小,保持竖屏状态
  // window.setWindowResizable(false);
  runApp(MyApp());
}

3. 补充:关于之前代码的无效原因

你之前尝试的SystemChrome.setPreferredOrientations是移动平台专属API,Linux等桌面平台并不支持该接口的方向控制逻辑,所以无论怎么设置都不会改变窗口的横/竖屏状态。

内容的提问来源于stack exchange,提问作者Youn Elan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:52:09