2017-03-05 111 views
-1

我实际上是用统一为Android设备创建一个简单的游戏。当Android键盘出现时统一调整大小屏幕

在游戏中,玩家必须编写一个数字。

所以我使用统一UI的输入字段对象。

当我在我的设备上使用它时,我得到了一件奇怪的事情;

当android键盘出现时,统一调整屏幕大小。

当键盘消失时,统一再次将屏幕调整为正常模式,但是当它这样做时,它绝对难看! (我在这个过程中看到了一些奇怪的文物(以毫秒为单位),但它非常难看)。

我想知道如果我可以为了统一而不调整任何东西,所以视图在键盘上还是没有键盘时都保持不变?

非常感谢! :)

+0

我可以告诉你这是完全可能的,但我不记得如何。当我回家后,我会检查我的项目,如果其他人当时没有回答,请回复。 – Arshia001

+0

还是什么? :/ –

回答

0

我很抱歉花了我几天的时间回来,但之前我无法在我的源文件中找到它,因为我查找的地方不对。你一会儿就会明白为什么。这里是你需要做的:

  1. 假设你没有在你的项目中的自定义AndroidManifest.xml(如果你这样做,跳到4),让你的游戏构建。
  2. 打开您的项目文件夹。转到Temp/StagingArea并在您选择的编辑器中打开AndroidManifest.xml。复制内容。
  3. Inside Unity中,在您的Assets文件夹的根目录下,创建一个'Plugins'文件夹。在里面,创建一个'Android'文件夹。在这个文件夹中,创建一个名为AndroidManifest.xml的新文件。粘贴从第2步中抓取的文件的内容。
  4. 在AndroidManifest.xml档案,活动标签里面,添加这个自定义属性:机器人:windowSoftInputMode =“adjustNothing”因此最终的标签将是这个样子:
<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> 

后你这样做,键盘出现后屏幕应该保留其内容。

注意:请使用我在这里提供的代码。按照以下步骤为您的Unity版本获取正确的基本AndroidManifest.xml文件并编辑该文件。还要确保在每次将Unity更新为新版本时更新清单文件。他们可以随时更改该文件,如果不使用最新版本,则会在您的应用程序中创建令人讨厌且难以追踪的副作用。

+0

它的工作非常感谢! :) –

+0

很高兴知道!请使用绿色复选标记将其标记为允许其他人知道问题已被回答的已接受答案。 – Arshia001

相关问题