Я разрабатываю клавиатуру на Android (например, клавиатуру Брайля). Для тех из вас, кто не знает, Брайль состоит из шести точек, и комбинации этих точек образуют символы. Я написал клавиатуру с использованием класса KeyboardView с основным прослушивателем, но проблема в том, что при прослушивании по умолчанию только одна клавиша будет нажата одновременно. Для формирования буквы l требуется три точки (точки 1, 2 и 3). Я должен нажимать каждую клавишу отдельно, а затем пробел, чтобы написать письмо. Я хотел бы, чтобы клавиатура функционировала по-другому; все точки могут быть нажаты одновременно, а когда точки отпущены, буква записывается. Я прав, думая, что это невозможно с слушателем в комплекте с KeyboardView? Если я переписал процедуру onTouch в KeyboardView, будет ли эта последняя функциональность возможной? Одновременно ли функция OnTouch обнаруживает несколько событий action_down? Я думал, что если это возможно, я могу определить координаты x-y пресса, прокрутить клавиши на клавиатуре и определить, какие клавиши нажаты. Если это невозможно, мне нужно сделать шаг ниже этого и написать onTouch для основного вида? Большое вам спасибо.Функциональность мягкой клавиатуры Multi-Touch в Android
ответ
Если вы хотите сделать несколько быстрых тестов на клавиатуре, например новый макет ключа или новый алгоритм интеллектуального текста, KeyboardView в порядке. Если вы делаете что-то более сложное, KeyboardView просто не имеет реальной гибкости. Ни одна из основных клавиатур не использует его (и я точно знаю, что я написал один из них и поговорил с инженерами на других).
Вы можете переписать onTouch или добавить прослушиватель прикосновений на существующий вид клавиатуры, но тогда вам придется выполнять большую работу внутри своей структуры, например, тестирование на удар, чтобы определить, к какому ключу прикасается. В этот момент, вероятно, проще просто написать свой собственный с нуля. Я почти гарантирую, что вы в какой-то момент в любом случае пройдете весь путь до коммерческого продукта.
Вы можете использовать onTouch, чтобы получить несколько пальцев вниз, но это не будет на ACTION_DOWN. Вы получаете ACTION_DOWN для первого пальца вниз, затем ACTION_POINTER_DOWN для каждого дополнительного пальца. Вот как это работает для любого вида. Тогда любое движение на любом пальце будет генерировать ACTION_MOVE. Когда пальцы отпускаются, вы получаете ACTION_POINTER_UP для всех пальцев до последнего, который получает ACTION_UP.
- 1. Стиль мягкой клавиатуры в Android
- 2. Письма клавиатуры мягкой клавиатуры Android не обнаружены
- 3. Открытие медленной мягкой клавиатуры Android
- 4. Переопределение мягкой раскладки клавиатуры
- 5. Предотвращение отклонения мягкой клавиатуры
- 6. Преобразование мягкой клавиатуры Android в Bengali
- 7. Как получить идентификатор мягкой клавиатуры в android
- 8. Причина медленного ввода мягкой клавиатуры в android
- 9. Управление событиями мягкой клавиатуры в appium-android
- 10. прокрутки до мягкой клавиатуры
- 11. android: проблемы с программным вызовом мягкой клавиатуры
- 12. Android - заставить весь экран мягкой клавиатуры
- 13. Android: Как показать панель предложений мягкой клавиатуры
- 14. Keycode для Android минимизирует кнопку мягкой клавиатуры
- 15. View.OnKeyListener для мягкой клавиатуры
- 16. Эмулятор Android: изменение языка мягкой клавиатуры
- 17. Скрытие мягкой клавиатуры в MonoDroid
- 18. Android 3: Моделирование поведения мягкой клавиатуры для виртуальной клавиатуры пианино
- 19. Закрытие мягкой клавиатуры во фрагменте
- 20. Задержка при скрытии мягкой клавиатуры
- 21. Как определить язык мягкой клавиатуры?
- 22. Обнаружение мягкой клавиатуры Скрытое состояние
- 23. Скрытие мягкой клавиатуры без фокусировки
- 24. ANDROID: Получение нажатий клавиш с мягкой клавиатуры Android
- 25. Android Multitouch
- 26. Предотвращение мягкой клавиатуры Android от перемещения просмотра в фрагменте?
- 27. Как изменить текст кнопки в Android с помощью мягкой клавиатуры?
- 28. Как сделать edittext выше мягкой клавиатуры ввода в Android?
- 29. PhoneGap в Android: входы не двигаются с помощью мягкой клавиатуры
- 30. Как удалить кнопку поиска мягкой клавиатуры в Android?
Большое спасибо. Я думаю, что я буду использовать KeyboardView для размещения ключей, но я буду переписывать процедуру onTouch. Класс Key просто кажется приятным, потому что есть методы, которые вернут true, если переданные в них значения x-y попадут в один из ключей. Я могу определить позиции из файла XML. –