在使用Unity早期版本(2018以前的版本)生成併發布的apk,使用InputField進行用戶名和密碼等輸入的時候,會出現以下的狀況,點擊輸入框,彈出的虛擬鍵盤上方帶有另外一個輸入框,輸入的內容會顯示在鍵盤上部的輸入框之中:android
而開發者其實想要實現的是這樣的效果:ios
在inputFiled的Inspector界面能夠看到這樣一個選項:git
可是選中了以後並無什麼卵用,unity3d官方解釋是這個選項只在ios上生效,android上出於安全等方面考慮,這個選項是不生效的。github
解決辦法有兩個,安全
1.併發
使用https://github.com/mopsicus/UnityMobileInput ,但這個方案有一些問題,首先須要修改一處代碼,才能正常使用,將MobileInputField.cs的函數InitialzieOnNextFrame ()之中下面三條語句註釋掉:ide
//_inputObject.placeholder.gameObject.SetActive (false);
//_inputObject.enabled = false;
//_inputObjectText.enabled = false;函數
這樣按照它demo之中的方法使用,就能夠隱藏鍵盤上方的輸入框了,但這個方法有不少問題,好比若是須要對InputField進行SetActive(false),而後再SetActive(true),會發現鍵盤上的輸入框又出現了,而若是使用SetAsFirstSibling將其放置於全部層之下,手指點擊inputfield的所在區域又會彈出虛擬鍵盤.....總之這是一個不完美的解決方案。3d
2.blog
把unity升級到2018以上的版本,此時會發現Inputfield的Inspector界面之中Hide Mobile Input這個選項在android上也能生效了,選中以後彈出的虛擬鍵盤上方就不會帶有輸入框了。