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

如何为Unity Android游戏添加窗口可调整大小选项?

Unity Android 实现窗口大小调整方案

Unity Android 默认确实没有内置的窗口大小调整选项——因为Android应用通常以全屏模式运行,但可以通过以下几种方式实现该功能:

1. 修改AndroidManifest配置

导出Android项目后,修改app/src/main/AndroidManifest.xml中的Activity配置,启用可调整窗口属性:

  • 在目标<activity>标签内添加以下属性:
android:resizeableActivity="true"
android:windowIsFloating="true"
android:windowSoftInputMode="adjustResize"

resizeableActivity(Android 7.0+)允许窗口调整大小,windowIsFloating会让应用以悬浮窗口形式运行,此时可拖动窗口边缘调整尺寸。

2. 调整Unity PlayerSettings

在Unity编辑器中,进入Edit > Project Settings > Player > Android > Resolution and Presentation:

  • 取消勾选Fullscreen Mode的Fullscreen选项,切换为Windowed
  • 设置Default Orientation为Auto Rotation或指定方向,确保窗口调整时布局能适配

3. 代码动态控制窗口大小

通过C#脚本调用Android原生API,实现自定义尺寸调整:

using UnityEngine;

public class WindowResizeController : MonoBehaviour
{
    // 调用此方法传入宽高值调整窗口
    public void SetWindowDimensions(int targetWidth, int targetHeight)
    {
        #if UNITY_ANDROID && !UNITY_EDITOR
        AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
        AndroidJavaObject window = currentActivity.Call<AndroidJavaObject>("getWindow");
        AndroidJavaObject windowManager = currentActivity.Call<AndroidJavaObject>("getWindowManager");
        AndroidJavaObject layoutParams = window.Call<AndroidJavaObject>("getAttributes");

        layoutParams.Set("width", targetWidth);
        layoutParams.Set("height", targetHeight);
        windowManager.Call("updateViewLayout", window.Call<AndroidJavaObject>("getDecorView"), layoutParams);
        #endif
    }
}

可以将此方法绑定到UI按钮,让用户点击触发窗口大小调整。

关键注意事项

  • 悬浮窗权限:Android 6.0+需要申请SYSTEM_ALERT_WINDOW权限,用户需在系统设置中手动开启应用的悬浮窗权限
  • UI适配:窗口尺寸变化后,需通过Unity的Canvas Scaler组件设置合适的缩放模式,确保UI元素适配不同窗口大小
  • 系统兼容性:部分Android定制ROM可能限制悬浮窗口功能,需在目标设备上测试验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:17:13