Могу ли я использовать программную клавиатуру без EditText?

Я создаю простую игру для набора текста на Android. У меня нет проблем с вводом данных с физической клавиатуры, но теперь я пытаюсь заставить виртуальную клавиатуру отображаться без EditText. Пока я пробовал следующее:

1. EditText с visibility = "invisible" и этой строкой:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(keyboard_edittext, InputMethodManager.SHOW_FORCED); // SHOW_IMPLICIT also failed

2. Эта строка в onCreate () :

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

Этот метод фактически отображал пустое белое поле в нижних 10% экрана, но не на клавиатуре, хотя, когда я запускаю его сейчас, он ничего не делает .

3. Еще две строки в onCreate () :

InputMethodManager m = (InputMethodManager)this.getSystemService (Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);

Ни с одним из них не повезло. Можно ли вообще отобразить программную клавиатуру (а затем использовать onKeyUp / onKeyDown ), не фокусируясь на EditText?

Сейчас я вижу единственный способ приблизиться это создать мою собственную реализацию мягкой клавиатуры (т.е. построить ее с нуля). Не с нетерпением жду этого!

16
задан slm 14 April 2013 в 04:56
поделиться