2017-03-05 158 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

相關問題