Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
#1

Обработка нестандортного жеста - Android

24.11.2012, 23:56. Просмотров 1171. Ответов 13
Метки нет (Все метки)

Всем привет! Задача такая - обработать жест, при котором пользователь сначала нажимает и удерживает палец на экране (в этот момент генерируется короткая вибра), а затем палец ведет по экрану (в этот момент отслеживается текущая позиция прикосновения), и в конце палец отпускает (отслеживается и эта позиция, в котором прикосновение было закончено). Как реализовать? Стандартных методов в OnSimpleGestureListener почему-то не нахожу...
Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.11.2012, 23:59     Обработка нестандортного жеста #2
переопределить метод
public boolean onTouchEvent (MotionEvent event)
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 00:05  [ТС]     Обработка нестандортного жеста #3
V0v1k, да это я понимаю, спасибо! Я имел ввиду, что в SimpleOnTouchListener есть методы onTap(), onDoubleTap(), onScroll(), но подходящего мне метода по-моему нет... Как бы подошел и onScroll(), но мне нужно сначала обработать onLongPres(), а после этого уже следить за перемещением (как в onScroll()).
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 00:15     Обработка нестандортного жеста #4
отслеживайте onLongPres, после onLongPres ставите flag = true, после onPres() (если такое есть, ну на поднятие пальца точно нет) ставите false, в onScroll просто проверяйте флаг.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 01:05  [ТС]     Обработка нестандортного жеста #5
V0v1k, я уже так и решил сделать, но все равно спасибо за ответ! =) Плюсанул!

Добавлено через 44 минуты
V0v1k, Вы знаете, не прокатило... После долгого нажатия перемещения по экрану не отслеживаются до тех пор, пока не отпустишь палец. Как быть?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 01:18     Обработка нестандортного жеста #6
в onLongPres
return false;
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 01:26  [ТС]     Обработка нестандортного жеста #7
V0v1k, onLongPress void метод...
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 01:30     Обработка нестандортного жеста #8
вот как...
а где вы вообще такой класс взяли? не вижу его в sdk.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 01:34  [ТС]     Обработка нестандортного жеста #9
Вот тут
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 02:04     Обработка нестандортного жеста #10
ааа, просто меня это с толку сбило)
Цитата Сообщение от razer89 Посмотреть сообщение
SimpleOnTouchListener
Добавлено через 15 минут
действительно void, не знаю что еще посоветовать...

Добавлено через 12 минут
сдерите имплементацию с sdk
http://grepcode.com/file/repository....MotionEvent%29
и уберите
case MotionEvent.ACTION_MOVE:
if (mInLongPress || (mIgnoreMultitouch && ev.getPointerCount() > 1)) {
break;
}

Добавлено через 1 минуту
то, что выделено черным, это причина этого -
Цитата Сообщение от razer89 Посмотреть сообщение
После долгого нажатия перемещения по экрану не отслеживаются
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 02:16  [ТС]     Обработка нестандортного жеста #11
Т.е. мне просто убрать этот break из класса GestureDetector и все заработает? Не повлияет ли это на обработку остальных жестов?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 03:06     Обработка нестандортного жеста #12
с ифа убрать mInLongPress

Цитата Сообщение от razer89 Посмотреть сообщение
Не повлияет ли это на обработку остальных жестов?
я то откуда знаю?)

Добавлено через 39 минут
в принципе не должно на другие события повлиять....
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
25.11.2012, 04:41  [ТС]     Обработка нестандортного жеста #13
Блин, что-то я туплю... Не могу открыть класс (в принципе, как и все остальные). Пишет Source not found. Пробовал открывать вручную (в android.jar) - тоже ничего не получается. Или библиотеки андроида не предназначены для редактирования?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 05:50     Обработка нестандортного жеста
Еще ссылки по теме:

Android Обработка кнопки гарнитуры
Android Обработка объектов в listview
Обработка Json Android
Android Обработка смс
Android Обработка событий в ExpandableListView

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.11.2012, 05:50     Обработка нестандортного жеста #14
естественно нет, но можно обеспечить просмотр скачав сорци.
Yandex
Объявления
25.11.2012, 05:50     Обработка нестандортного жеста
Ответ Создать тему
Опции темы

Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru