Главная » Разработка для Android » ВВОД ЖЕСТОВ в Android приложении

0

 

В современном мире устройств с сенсорными экранами существует отличный способ сделать работу с устройством и простой и интересной. Для этого следует использовать сложные жесты (например, несколько движений пальцем по экрану в различных направлениях). Начиная с Android 1.6 (API уровня 4), мы можем пользоваться АРІ для обработки жестов. Простейший способ добавить в приложение возможность ввода жестов при работе с этим API – использовать android.gesture.GestureOverlayView:

GestureOverlayView – это особый тип FrameLayout, который можно накладывать на другие виджеты либо который может содержать в себе другие виджеты. Данный макет способен запоминать штрихи, проводимые по экрану, а также отображать цветную линию (по умолчанию ее цвет – желтый), соответствующую траектории движения того или иного-штриха. Интерфейс GestureOverlayView.OnGesturePerform edListener предоставляется для того, чтобы устройство могло реагировать на осуществляемые жесты:

После того как жест выполнен, вы можете посмотреть в библиотеке Gesture, распознается ли он. Информацию из библиотеки Gesture можно считывать различными способами, при помощи статических методов класса GestureLibraries. После того как библиотека загружена (загружается GestureStore), выполненный жест можно передать и проанализировать при помощи метода recognize. Этот метод возвращает список объектов Prediction, в каждом из которых указываются очки и имя, причем очки отражают степень сходства выполненного жеста с тем или иным жестом, содержащимся в библиотеке:

Базовая анатомия Gesture состоит из множества объектов GestureStroke, и каждый объект GestureStroke составляется из множества объектов GesturePoint. Объект GesturePoi nt создается на базе координат х и у, а также из одной временной отметки (timestamp), указывающей, когда была сгенерирована точка. Когда Gesture сохраняется в GestureStore (в библиотеке GestureLibrary), он кодируется именем (String).

Добавить жест в библиотеку совсем не сложно. Вы сообщаете имя для ассоциирования жеста, а также объект Gesture, а потом сохраняете его в библиотеке. Обратите внимание: библиотека должна считываться с внешнего источника файлов (например, с карты памяти или закрытого (приватного) файла), чтобы библиотека могла изменяться и, следовательно, выполнять функцию хранилища жестов. Библиотека, считываемая с необработанного ресурса, доступна только для чтения (используется GestureLibraries. fromRawResource (context, res Id)):

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии