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

如何通过Avalonia实现移动应用(以Android为起点)强制横屏运行?

强制Avalonia Android应用仅横屏运行的实现方法

方法一:修改AndroidManifest.xml(推荐)

这是最直接的系统级配置方式,无需额外编写业务代码:

  • 找到Avalonia解决方案里的Android项目,打开Properties/AndroidManifest.xml文件
  • 在启动页对应的<activity>标签内,添加android:screenOrientation="landscape"属性
  • 配置后的示例代码:
    <activity android:name="crc643f46942d9dd1fff5.MainActivity"
              android:screenOrientation="landscape"
              android:launchMode="singleTop"
              android:configChanges="orientation|keyboardHidden|screenSize">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    
  • 该配置会让Android系统直接锁定Activity的横屏状态,不受设备自动旋转设置影响。

方法二:代码层面强制设置(双重保障)

如果需要在运行时确保不会切换回竖屏,可在Avalonia主窗口中添加逻辑:

  • 在MainWindow的OnInitialized方法中,调用Android原生API强制设置屏幕方向
  • 示例C#代码:
    protected override void OnInitialized()
    {
        base.OnInitialized();
        if (OperatingSystem.IsAndroid())
        {
            var currentActivity = Android.App.Application.Context as Android.App.Activity;
            currentActivity?.RequestedOrientation = Android.Content.PM.ScreenOrientation.Landscape;
        }
    }
    
  • 这一步可作为Manifest配置的补充,避免特殊场景下的方向切换。

验证步骤

  • 编译Android项目并部署到实体设备或模拟器
  • 手动旋转设备,确认应用始终保持横屏显示
  • 即使设备开启了系统级旋转锁定,也不会影响应用的横屏设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:18:15