В текущем полноэкранном проекте на основе opengl, над которым я работаю, у меня есть некоторые графические элементы на основе GL, в частности текстовое поле ввода. Для ввода текста, когда этот элемент имеет фокус, я показываю мягкую клавиатуру (которая выглядит нормально).Мягкая клавиатура Android Lollipop не принимает нажатия клавиш с поверхностью GL
В версии для Android до 5.0 клавиатура Google отлично работает, отправляя ключевые события, например, для аппаратных клавиатур. На android Lollipop некоторые другие клавиатуры, такие как Swiftkey или свободная клавиатура Hacker, все еще работают, но Google Keyboard больше нет.
При нажатии клавиши на клавиатуре Google на Lollipop визуальная обратная связь не появляется на самой клавиатуре, и мое приложение получает события касания, как если бы клавиатура не отображалась (но это так). Тем не менее, ключ «hardware» работает нормально.
Вид, используемый в приложении, представляет собой SurfaceView (и это не TextView). Я переопределил onCheckIsTextEditor
, и я возвращаю InputConnection
от onCreateInputConnection
, где я установил inputType
как TYPE_NULL
. Обратите внимание, что onCreateInputConnection
, похоже, не называется.
Это приложение скомпилировано с использованием совместимости с уровнем 15 для Android.
Любая идея, что помешало бы клавиатуре принимать события касания? Что делать, чтобы отлаживать поток событий прикосновений?