Я создаю Android-игру. В настоящее время я использую «обычный» просмотр и рисование, onDraw() и имеет обработчик для обработки событий с учетом времени и т. Д. Однако вскоре (tm) я преобразую его в SurfaceView с потоком и контуром константы.Редактировать поле для моей игры?
В любом случае, когда игрок нажимает определенную кнопку, я хочу, чтобы у меня было какое-то окно редактирования, в котором игрок мог ввести значение (цену). Но я как бы теряюсь в том, как этого добиться. Сначала я подумал, хорошо, давайте просто сделаем EditText, разместим его на экране и сделаем. Но, видимо, я не могу просто поместить EditText в место X, Y и удалить его потом.
Я посмотрел пример LunarLander, который использует TextView для отображения текста. Он уже определен в макете XML и становится видимым и невидимым, отправляя сообщения между игровым потоком и потоком пользовательского интерфейса. Это кажется довольно сложным, и поле редактирования будет существовать все время.
Кроме того, я думал о создании собственного «окна редактирования», просто нарисуя окно на экране, включив клавиатуру и захватив ввод с клавиатуры. Но я даже не знаю, с чего начать с «пользовательского» ввода с клавиатуры (на экране против физического, как захватить ввод текста на клавиатуре, как скрыть клавиатуру, когда закончите, и т. Д.).
Так что мне было интересно, что это лучший способ сделать это?
Редактировать: может быть полезно узнать, но моя игра исправлена в ландшафтном режиме.
Я попытался использовать диалоговые окна Android по умолчанию, фактически, потому что они нарушают погружение в игру. Раньше я использовал диалоговое окно Android для выбора списка, но снова удалил его и заменил его своим «диалоговым окном» (просто нарисов несколько прямоугольников на экране), чтобы он выглядел лучше в моей игре. – pbean