如何在Xamarin Forms桌面模式下启用应用最大化按钮
Xamarin.Forms 安卓桌面/生产力模式启用最大化按钮解决方案
该适配针对安卓10及以上系统的自由窗口模式(联想Tab系列命名为「生产力模式」),原生系统会对支持窗口大小调整的应用自动显示最大化、最小化按钮,适配步骤如下:
1. 修改AndroidManifest.xml配置
这是核心配置项,开启应用的窗口大小调整权限:
找到安卓平台项目下的Properties/AndroidManifest.xml文件,在主Activity的声明节点中添加android:resizeableActivity="true"属性,示例如下:
<activity android:name="你的主Activity完整类名(通常是自动生成的crc64开头的字符串加.MainActivity)" android:resizeableActivity="true" android:exported="true"> <!-- 原有的intent-filter、其他属性保持不变 --> </activity>
2. 额外适配定制ROM(可选,针对联想生产力模式)
部分定制ROM对自由窗口模式有额外限制,可在主Activity的OnCreate方法中添加运行时配置,打开安卓平台项目的MainActivity.cs,修改代码如下:
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // 安卓10及以上版本适配自由窗口显示 if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Q) { Window.SetFlags( Android.Views.WindowManagerFlags.LayoutNoLimits, Android.Views.WindowManagerFlags.LayoutNoLimits ); } // 原有初始化逻辑保持不变 Xamarin.Essentials.Platform.Init(this, savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); LoadApplication(new App()); }
验证效果
完成上述配置后重新编译打包安装到设备:
- 开启联想Tab P11 Pro的生产力模式
- 启动应用后,顶部标题栏会自动出现最大化、最小化、关闭按钮,和Chrome、Zoom的表现完全一致
- 支持拖动窗口边缘自定义调整窗口尺寸,点击最大化按钮即可切换全屏显示
内容的提问来源于stack exchange,提问作者user6473719
相关产品推荐
相关产品推荐

