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

Получение координат нажатия - Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.65
Levabala
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 18
09.08.2013, 13:15     Получение координат нажатия #1
У меня проблема - я только начал разрабатывать под android и одна из первых трудностей - как обработать нажатие (считать координаты, силу нажатия). Помогите кто разбирается в этом.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
09.08.2013, 18:31     Получение координат нажатия #2

Не по теме:

Цитата Сообщение от Levabala Посмотреть сообщение
У меня проблема - я только начал разрабатывать под android
Решение проблемы: бросьте разрабатывать под android.


А что бы преодолеть трудности, нужно очень много читать.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
10.08.2013, 13:03     Получение координат нажатия #3
Решение проблемы: бросьте разрабатывать под android
Злые Вы!

У меня этот вопрос тоже возникал, но не был срочным... Решения так и не нашел! То что я вычитал - обрабатываются нажатия для каждого конретного вьюва (кнопки, ЭЛЕМЕНТА листа, формы ВОКРУГ кнопок), а не всего сразу. Была "мечта" - сделать мультитатч список, где движениями 2х пальцев можно менять: шрифт или детализацию элементов или даже размер строк. Такое возможно? Или нужно РИСОВАТЬ свой список на едином "листе" (общем вьюве)
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
12.08.2013, 11:20     Получение координат нажатия #4

Не по теме:

Цитата Сообщение от Tester64 Посмотреть сообщение
Злые Вы!
Отнюдь. Хотя, это зависит от того, под каким углом смотреть на совет.


Цитата Сообщение от Tester64 Посмотреть сообщение
Решения так и не нашел!
Решение постом выше.
Цитата Сообщение от Tester64 Посмотреть сообщение
Была "мечта" - (длинное описание мечты). Такое возможно?
Вполне. Или вопрос в том, как это (мультитатч список, где движениями 2х пальцев можно менять: шрифт или детализацию элементов или даже размер строк) сделать?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
14.08.2013, 14:53     Получение координат нажатия #5
Цитата Сообщение от Wenceslaus Посмотреть сообщение
, как это (мультитатч список, где движениями 2х пальцев можно менять: шрифт или детализацию элементов или даже размер строк) сделать?
Как менять шрифт - я знаю. Я не знаю как поймать глобальный мультитатч, а не нажатие либо на элементе 1,2,..,н, либо на форме вокруг списка (или на случайно пальцем захваченой кнопке)... Как пойамать ОБЩИЙ мультитатч - поверх любого элемента формы? Мои прошлые попытки требовали назначить элемент захвата татча, причем только один...
verylazy
Заблокирован
14.08.2013, 15:28     Получение координат нажатия #6
Цитата Сообщение от Tester64 Посмотреть сообщение
Я не знаю как поймать глобальный мультитатч
можно сделать например так
Java
1
public class MyCoolBestActivity extends Activity implements OnClickListener
и реализовать медод(ы), которые предложит добавить IDE
а уже в
Java
1
2
3
@Override
public void onClick(View v) {
}
вытягивать id нажатого элемента, например
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
14.08.2013, 15:36     Получение координат нажатия #7
Tester64, разве не получится отследить общее нажатие, если поставить слушатель на контейнер всех View'ов в xml? (Я не пытался, посему и спрашиваю).
Как вариант, можно отследить нажатие на активную область приложения (Activity):
Java
1
2
3
4
5
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    // обработка общего нажатия
    return super.dispatchTouchEvent(ev);
}
причём он никак не зависит от TouchEvent'ов других View'ов.
Salty_Sugar
 Аватар для Salty_Sugar
26 / 26 / 1
Регистрация: 02.04.2012
Сообщений: 140
14.08.2013, 15:52     Получение координат нажатия #8
Цитата Сообщение от Levabala Посмотреть сообщение
одна из первых трудностей - как обработать нажатие (считать координаты, силу нажатия)
Ахаха! Силу нажатия невозможно определить!
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
14.08.2013, 16:43     Получение координат нажатия #9
Salty_Sugar, MotionEvent.getPressure()
Yushka
4 / 4 / 1
Регистрация: 24.07.2013
Сообщений: 80
14.08.2013, 16:48     Получение координат нажатия #10
Salty_Sugar
Возможно. Существуют тачскрины, обладающие такими свойствами, но их вроде мало.
Salty_Sugar
14.08.2013, 17:38
  #11

Не по теме:

Oops!..
Беру свои слова обратно!

Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
14.08.2013, 18:54     Получение координат нажатия #12
Цитата Сообщение от Salty_Sugar Посмотреть сообщение
Ахаха! Силу нажатия невозможно определить!
Силой нажатия можно считать "длительность" нажатия...
Wenceslaus
Android Developer
 Аватар для Wenceslaus
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
14.08.2013, 19:20     Получение координат нажатия #13
Salty_Sugar, на самом деле вы в чём-то правы. Дело всё в том, что сам ёмкостный экран не может в принципе определить силу касания. Утечка тока происходит от факта касания, а не от величины давления на экран. Посему аппаратно это не определяемо..
Но ориентировочно рассчитать можно программно. Палец мягкий и чем сильнее им давить на экран, тем больше площади он будет занимать. Посему, в данном случае, относительно площади прикосновения (кол-ва покрытых пальцем пикселей) и будет рассчитана сила нажатия, а возвращаемые значения, большей частью, будут зависеть от калибровки экрана (настройки ОС). Так что давление здесь нельзя воспринимать за абсолютную величину (разные устройства вернут разные значения при одинаковых касаниях).
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.08.2013, 22:20     Получение координат нажатия #14
а по поводу координат, setOnTouchListener или переопределить onTouchEvent, будешь получать объект MotionEvent в которого есть методы getX и getY
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
15.08.2013, 03:31     Получение координат нажатия #15
Цитата Сообщение от V0v1k Посмотреть сообщение
а по поводу координат, setOnTouchListener или переопределить onTouchEvent, будешь получать объект MotionEvent в которого есть методы getX и getY
Похоже не все так просто... Только что создал форму со списком OnTouch можно определить для элементов формы, причем для каждого элемента отдельно через .setOnTouchListener(this); Причем как определить общий OnTouch еще и на элементы списка - не понял...
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.08.2013, 03:35     Получение координат нажатия #16
создайте прозрачную View которая будет перекрывать весь UI и задайте для нее setOnTouchListener.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
15.08.2013, 04:18     Получение координат нажатия #17
хотя... беру свои слова назад! Кажется (случайно) получилось!

Добавлено через 19 минут
создайте прозрачную View которая будет перекрывать весь UI и задайте для нее setOnTouchListener.
а как это сделать?
Задумал положить поверх вьюва прозрачную картинку на которой рисовать мультитатч-жесты.
Кстати еще вопрос: не подскажете ссылки на готовые процедуры (Framework) для работы с мультитатчем?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2013, 15:23     Получение координат нажатия
Еще ссылки по теме:

Android Эффект нажатия кнопки
Обработка длительного нажатия Android
Обработка нажатия кнопок Android
Android Обработка длительного нажатия
Android Обработка нажатия кнопок

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

Или воспользуйтесь поиском по форуму:
Levabala
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 18
18.08.2013, 15:23  [ТС]     Получение координат нажатия #18
Цитата Сообщение от Wenceslaus Посмотреть сообщение

Не по теме:


Решение проблемы: бросьте разрабатывать под android.


А что бы преодолеть трудности, нужно очень много читать.
Спасибо за вторую ссылку! А вот решение проблемы вы как-то странно описали :/

Добавлено через 46 минут
Спасибо всем! Я свою проблему решил (мне хватило одной ссылки), но тему закрываю для себя, так как, в теме ведётся обсуждение. Ещё раз спасибо!
Yandex
Объявления
18.08.2013, 15:23     Получение координат нажатия
Ответ Создать тему
Опции темы

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