1. 程式人生 > >讓輸入框在Android上全屏顯示

讓輸入框在Android上全屏顯示

1. 問題

關於Cocos2d-xAndroid上的輸入框,我忍了好久了,一直沒去折騰它,覺得無關緊要。(小若:等等,你倒底想說什麼?)

我想說的是,預設情況下,我們在Android上開啟的輸入框是這樣的:

(小若:很好啊,完美~

才怪啊~!我本來也以為沒什麼,我以為正常人都會在輸入完之後點選那個回車按鈕。

結果,我的遊戲玩家有很大一部分都會在輸入完之後點選返回鍵~返回鍵!於是他們就永遠都輸入不了內容了,於是我就這樣失去了一個又一個使用者了。

2.解決方案

沒關係,我可是Android手游出身的,輸入框什麼的我可是折騰過的(各種炫耀~)。

要解決這個問題,很簡單,Cocos2d-x

移植到Android時,是有一堆Java檔案的(org.cocos2dx.lib記得吧?),我們找到Cocos2dxEditBoxDialog.java檔案,接下來,很重要的一步,千萬不要做錯了:

打、開、它~

嗯,然後就沒什麼重要的了,在181,找到下面這段程式碼:

this.mInputEditText.setImeOptions(oldImeOptions | EditorInfo.IME_FLAG_NO_EXTRACT_UI);

把它改成下面的樣子:

this.mInputEditText.setImeOptions(oldImeOptions | EditorInfo.IME_ACTION_GO);

3.測試

然後clean一下專案,好讓這些Java檔案重新編譯,最後,再次運行遊戲,開啟輸入框,效果如下:

這才是我想要的,我想,這樣的話,正常人在輸入完內容之後都會點【完成】按鈕了吧?

雖然這麼做會讓輸入框變成全屏,用策劃的思維來考慮的話,就是“讓玩家的視覺完全脫離了遊戲”,這是全屏的弊端。

不過,自己做取捨吧,反正我會選擇全屏。因為,曾經有玩家因為輸入不了內容而給了我遊戲一個差評~!