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

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

Войти
Регистрация
Восстановить пароль
 
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 724
#1

Каким образом мультитач определяет второе и последующее касание? - Android

11.02.2016, 15:56. Просмотров 273. Ответов 8
Метки нет (Все метки)

Уважаемы форумчане, есть какое то объяснение по такому вопросу?

Каким образом мультитачь определяет второе и последующее касание?

Если вдуматься, то палец не иголка, а получаю я только x и y
хотя по идею мог бы получить все координаты касания,
зоной больше похожей на круг

Вопрос в том как получить все координаты этой зоны и возможно ли это?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2016, 15:56     Каким образом мультитач определяет второе и последующее касание?
Посмотрите здесь:

Сенсорный дисплей не правильно реагирует на касание. Сброс настроек Android
Каким образом выводят информацию о новой версии приложения Android
Android Мультитач на всех версиях Android
Android Маштабирование мультитач
мультитач зум Android
Мое второе собеседование на должность Junior Android
Отключить мультитач Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2013 / 1755 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 1
11.02.2016, 16:09     Каким образом мультитач определяет второе и последующее касание? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
у TouchEvent есть метод getSize() котрый возвращает число от 0 до 1
я когда-то пытался понять принцип по которому считается это число - бестолку

если лезть в исходники то в методе getSize сразу вызывается нативный метод с несколькими параметрами и дальше мой интерес копать резко угас )

доки к этому методу говорят
Returns a scaled value of the approximate size for the given pointer index (use getPointerId(int) to find the pointer identifier for this index). This represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events.
Spelcrawler
523 / 493 / 111
Регистрация: 12.03.2014
Сообщений: 1,646
Завершенные тесты: 1
11.02.2016, 18:12     Каким образом мультитач определяет второе и последующее касание? #3
Цитата Сообщение от Паблито Посмотреть сообщение
пытался понять принцип по которому считается это число
Как я понял из цитаты - выдает процент площади экрана, которая занята пальцем.
Паблито
11.02.2016, 18:17
  #4

Не по теме:

не думаю что все так просто
мне лениво литературно переводить сюда этот текст, но я его понял немного не так
и числа которые выдает этот метод скачут как лошади и отличаются иногда на два порядка, попробуй

Shuma_256
7 / 7 / 2
Регистрация: 08.02.2016
Сообщений: 89
11.02.2016, 18:36     Каким образом мультитач определяет второе и последующее касание? #5
Система умеет обрабатывать до 10 касаний включительно. Есть мнение, что это как-то связано с количеством пальцев на руках При этом учитывайте, что далеко не все устройства поддерживают 10 касаний.

Рассмотрим систему событий для мультитача.

ACTION_DOWN – срабатывает при касании первого пальца
ACTION_POINTER_DOWN – срабатывает при касании каждого последующего пальца
ACTION_MOVE - срабатывает при любом движении
ACTION_ POINTER_UP – срабатывает при отпускании каждого пальца кроме последнего
ACTION_ UP – срабатывает при отпускании последнего пальца

Небольшое пояснение
Кликните здесь для просмотра всего текста
Чтобы стало понятнее, рассмотрим ситуацию с тремя пальцами. Обозначим их - П1, П2 и П3. Будем касаться ими экрана и смотреть какие индексы и ID система им присваивает.

Касаемся экрана пальцем П1.

Для П1: индекс = 0, ID = 0



Далее касаемся экрана пальцем П2, не отпуская П1. Получим такие данные:

П1: индекс = 0, ID = 0
П2: индекс = 1, ID = 1



Далее касаемся экрана пальцем П3, не отпуская П1 и П2. Получим такие данные:

П1: индекс = 0, ID = 0
П2: индекс = 1, ID = 1
П3: индекс = 2, ID = 2



Теперь отпускаем палец П1. Получаем:

П2: индекс = 0, ID = 1
П3: индекс = 1, ID = 2

Видим, что П2 и П3 сохранили свои ID, а их индексы сместились.



Отпустим палец П2, получим:

П3: индекс = 0, ID = 2

П3 сохранил свой ID, который был изначально. А индекс его сначала был 2, потом 1, теперь 0.



Держим П3. Коснемся экрана пальцем П1, получим:

П1: индекс = 0, ID = 0
П3: индекс = 1, ID = 2

П1 получил первый свободный ID - 0. Индекс его тоже стал 0. А П3 получил индекс 1.



Держим П3 и П1. Коснемся экрана пальцем П2, получим:

П1: индекс = 0, ID = 0
П2: индекс = 1, ID = 1
П3: индекс = 2, ID = 2

П2 получил первый свободный ID - 1. И он сместил П3 в списке индексов.
Паблито
2013 / 1755 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 1
11.02.2016, 18:37     Каким образом мультитач определяет второе и последующее касание? #6
мне показалось что ТС спрашивал про площадь касания, может ошибся

про несколько касаний и так все очевидно, в тот же getSize можно передавать и аргумент - номер касания
Shuma_256
7 / 7 / 2
Регистрация: 08.02.2016
Сообщений: 89
11.02.2016, 18:39     Каким образом мультитач определяет второе и последующее касание? #7
Цитата Сообщение от Valakin Посмотреть сообщение
Каким образом мультитачь определяет второе и последующее касание?
Ну, тут вроде не про площадь))
Паблито
2013 / 1755 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 1
11.02.2016, 18:40     Каким образом мультитач определяет второе и последующее касание? #8
мне интересно что скажет ТС
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2016, 20:28     Каким образом мультитач определяет второе и последующее касание?
Еще ссылки по теме:

Android Касание в EditText
Android Каким образом нужно работать с картинками при создании приложения?
Копирование текста во время касание Android
Некорректная реакция на касание элемента GridView Android
Пропустить касание через окно Android

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

Или воспользуйтесь поиском по форуму:
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 724
11.02.2016, 20:28  [ТС]     Каким образом мультитач определяет второе и последующее касание? #9
Shuma_256, спасибо что отвечаете, но дейтсвительно вопрос был про зону
Yandex
Объявления
11.02.2016, 20:28     Каким образом мультитач определяет второе и последующее касание?
Ответ Создать тему
Опции темы

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