我实际上为具有Unity的Android设备创建了一个简单的游戏。
在游戏中,玩家必须写一个数字。
所以我使用Unity UI的输入字段对象。
当我在设备上使用它时,我得到了一件奇怪的东西;
出现Android键盘时,Unity调整了屏幕大小。
当键盘消失时,Unity再次将屏幕大小调整到正常模式,但是当它这样做时,这绝对是丑陋的!(我在此过程中(以毫秒为单位)看到了一些怪异的人工制品,但非常丑陋)。
。我想知道我是否可以订购团结不调整任何大小的大小,因此在有或没有键盘的情况下,视图保持不变?
非常感谢!:)
很抱歉,我花了几天的时间来退回,但是我以前在源文件中找不到它,因为我在错误的地方看。您会明白为什么。这是您需要做的:
- 假设您的项目中没有自定义AndroidManifest.xml(如果您这样做,跳到4),请制作游戏。
- 打开项目的文件夹。转到Temp/Stagingarea,然后在您选择的编辑中打开AndroidManifest.xml。复制内容。
- 在统一内部,在您的资产文件夹的根部中,创建一个"插件"文件夹。在内部,创建一个" Android"文件夹。在此文件夹中,创建一个名为AndroidManifest.xml的新文件。粘贴您从步骤2中抓取的文件的内容。
- 在您的androidmanifest.xml文件中,在活动标签中,添加此自定义属性:android:windowsoftinputmode =" atpripnnothing",因此最终标签看起来像这样:
<activity android:windowSoftInputMode="adjustNothing" android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:screenOrientation="fullSensor" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
执行此操作后,出现键盘后,屏幕应保留其内容。
注意:do 不是使用我提供的代码。请按照以下步骤获取正确的androidManifest.xml文件的Unity版本,然后编辑该文件。另外,每当您将Unity更新为较新版本时,请确保更新清单文件。他们可以随时更改该文件,而不使用最新版本会在您的应用程序中产生不良的副作用。