Домой / Основные настройки / Модное слово – «мультитач

Модное слово – «мультитач

Современные электронные устройства оснащаются все новыми функциями, которые призваны облегчить их использование. Каждая характеристика имеет свое название. Например, можно встретить в техническом описании планшета или телефона слово "мультитач". Что это такое?

Значение термина

Прежде всего, стоит отметить, что это название сенсорного экрана. Такой монитор реагирует на легкое нажатие пальцев и не имеет физической клавиатуры. В переводе с английского термин обозначает «множественные прикосновения».

История возникновения

Первые опыты по созданию сенсорных экранов были проведены еще в 1960-х годах. Позже они нашли свое применение в ЦЕРН. Ими оснастили ускоритель элементарных частиц. В 1970-х годах экран тачскрин был представлен в Университете Современная технология, которая когда-то казалась фантастикой, появилась в Нью-Йорке. Ее разработал Джеф Хана. Это произошло восемь лет назад. Можно сказать, что новые возможности создания сенсорных экранов «множества прикосновений» возникли именно в начале 21 века. Изобретатель организовал свою компанию, которую назвал «Perceptive Pixel». Очень быстро она влилась в Microsoft и стала заниматься разработкой программ, входящих в пакет Office.

Какие команды выполняет сенсорный экран?

Прежде всего, определим особенности мультитач: что это и в чем состоит различие между привычным и ним. Первый способен распознавать координаты точки одного прикосновения, а второй - множества. Это обстоятельство позволяет сделать работу с электронным прибором более комфортной и продуктивной. Разработано множество специальных жестов для управления устройством. Если у вас есть смартфон, вы должны запомнить, что всего двумя пальцами, которые сходятся или расходятся на мониторе электронного гаджета, можно задать команду уменьшить или увеличить масштаб изображения. Также они позволяют открывать папки, файлы, сворачивать, перемещать их, поворачивать, прокручивать страницы. Можно вводить текст, пользуясь виртуальной клавиатурой. Производители мобильных электронных устройств (в частности, смартфонов) указывают, что их экран способен распознавать до двадцати касаний. Чтобы проверить мультитач экран на точность этого утверждения, существует специальная программа-тест. Она бесплатна и находится в свободном доступе в Интернете. Ею часто пользуются обладатели устройств с операционной системой «Андроид».

Электронные устройства с мультитач

Как правило, подобную технологию поддерживают многие современные мобильные электронные устройства: смартфоны, телефоны, электронные книги, айпады и даже ноутбуки. Их выпускают популярные фирмы, например, такие компании, как «Apple», «Dell», «Microsoft», «Hewlett-Packard» и другие. Существует несколько вариантов изготовления сенсорных экранов. Наибольшей популярностью пользовалась резистивная технология. Она была разработана Сэмом Херстом. Ее самый большой плюс - низкая стоимость производства. Так продолжалось до 2008 года. Другие варианты создания подобных дисплеев: оптические, тензометрические, индуктивные тачскрины. Сейчас создают Их применяет в своих айфонах и айпадах компания «Apple».

Устройство дисплея

Из чего состоит экран мультитач? Емкостный монитор - это стеклянная панель, которую покрывает резистивный слой. По углам дисплея находятся четыре электрода. Через них проходит переменное напряжение. Когда палец касается сенсорного экрана, возникает ток утечки. Большие экраны с multi-touch поддерживают функцию отслеживания множества касаний нескольких пользователей одновременно. Ею могут обладать дисплеи, созданные по различным технологиям. Разрабатываются и запускаются в производство ИК-рамки - экраны с различной диагональю, с применением инфракрасной подсветки и камеры. Пользуются спросом у пользователей электроники специальные сенсорные пленки, а также стекло. Ими покрывают дисплеи, их размеры могут составлять от семнадцати до пятидесяти дюймов и более.

Где применяются сенсорные экраны?

Для современного человека стала привычной и удобной технология мультитач. Что это часть интерфейса самых лучших новинок электроники, знают даже дети. Считается большим плюсом, если устройство управляется при помощи касаний. Очень активно ведутся разработки, которые призваны усовершенствовать эту популярную технологию. В повседневной жизни можно встретить в торговых, медицинских центрах, в вузах, школах, на вокзалах. Они используются в качестве средства рекламы услуг и информирования клиентов. Причем, посетитель заведения может выбирать, просматривать каталог товаров, поворачивать, передвигать файлы. Подобные панели выпускает фирма «Филипс». Такая мультитач-система оснащена колонками и микрофоном. Монитор отличается высокой контрастностью, его поверхность устойчива к повреждениям и появлению царапин. Панель работает в двух режимах: поточный (видео, флеш графика, анимация) и интерактивный (управление в режиме онлайн). Для компании, которая использует подобные устройства, это прекрасная возможность поднять свой престиж в глазах партнеров и клиентов.

В чем их преимущества?

Фирма «Apple» использовала в своих телефонах и айфонах технологию множественного касания. В результате гаджеты, оснащенные сенсорными экранами, приобрели большую популярность у покупателей. Компания «Майкрософт» применяет multitouch на рабочем столе своих операционных систем и считает это направление наиболее перспективным. Если вы пользуетесь устройствами с дисплеем мультитач, что это и в чем его преимущество, вы вскоре сможете ответить самостоятельно. Прежде всего, это удобство управления несколькими касаниями пальцев. Как правило, экран у электронных гаджетов большой. Отсутствие у них физических кнопок не мешает их эксплуатации. Напротив, это позволяет сделать электронные приборы наиболее комфортными, одно удовольствие пользоваться Интернетом, запускать аудио- или видеофайлы. При наличии специальных программ есть возможность одновременной эксплуатации устройства несколькими пользователями. Подобный интерфейс делает управление интуитивно понятным. Поэтому сенсорные экраны подходят и для детей, и для продвинутой молодежи, и для людей пожилого возраста.

Когда мы рассматриваем характеристики смартфона или планшета, зачастую видим в описании много терминов, доселе нам незнакомых. Одним из таких терминов может быть мультитач. Так и написано напротив экрана — мультитач. Что это значит, в характеристиках не раскрывается. На деле же все гораздо проще.

Мультитач образовано от англ. Multi-touch, что можно перевести как «множественное касание». Уже исходя из этого можно сделать вывод, что речь идет об экране (сенсорной панели), которая одновременно поддерживает сразу несколько касаний.

Сколько именно? Вопрос интересный, ведь мульти — множество — в данном случае не говорит об определенном количестве поддерживаемых прикосновений, а значит, мультитач экраном можно называть сенсорную панель, которая поддерживает более одного касания.

Как узнать, сколько именно касаний поддерживает ваш планшет или смартфон? Это можно выяснить с помощью характеристик устройства, однако если вы им по каким-либо причинам не доверяете, не беда, можно воспользоваться специальными приложениями, например, MultiTouch Tester или AnTuTu:

А вот — 5 прикосновений:

Как вы можете заметить, в данном случае сенсорная панель поддерживает до 10 касаний.

Для чего нужен мультитач?

Мультач позволяет использовать дополнительные функции. Вот некоторые из них:

  • Сдвинуть пальцы — уменьшить.
  • Раздвинуть пальцы - увеличить.
  • Двигать несколькими пальцами — прокрутка вверх-вниз, влево-вправо.
  • Поворот двумя пальцами — поворот объекта.

Мультитач активно используется в приложениях. Например, в играх порой требуется задействовать больше двух касаний. Значит, если панель поддерживает только два касания (такие встречаются), полноценно поиграть в игрушку не удастся.

В этом уроке:

Обрабатываем множественные касания

Разобравшись с одиночным касанием на прошлом уроке, приступаем к множественному касанию, которое зовется мультитач.

Система умеет обрабатывать до 10 касаний включительно. Есть мнение, что это как-то связано с количеством пальцев на руках:) При этом учитывайте, что далеко не все устройства поддерживают 10 касаний.

Рассмотрим систему событий для мультитача. К событиям ACTION_DOWN, ACTION_MOVE и ACTION_UP добавляются ACTION_POINTER_DOWN и ACTION_POINTER_UP .

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

Теперь надо понять, как отличить - для какого именно пальца сработали события ACTION_POINTER_DOWN и ACTION_ POINTER_UP. Для этого используются две системы нумерации – индекс и ID .

Индекс порядковый номер пальца. Не привязан к пальцу – один палец может иметь разные индексы в течение одного касания.

ID - привязан к пальцу от начала до конца касания.

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

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

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

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

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

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

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

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

П2 получил первый свободный ID - 1. И он сместил П3 в списке индексов.

На этом примере мы видим, что новое касание получает минимальный свободный ID, и индексы всегда перестраиваются так, чтобы ID шли по возрастанию. На этом примере четко видно, что ID привязан к касанию (пока оно длится – ID неизменен). А индексы – это просто номера касаний, но эти номера вовсе не означают порядок касаний. Индексы и ID могут принимать значения от 0 до 9.

Вернемся к событиям. События UP и DOWN содержат в себе индекс касания. По этому индексу мы всегда можем получить ID. Событие MOVE информации об индексах не дает. Оно просто уведомляет, что происходит какое-то движение.

Напишем приложение, которое будет выводить на экран индекс последнего прикоснувшегося пальца, индекс последнего отпущенного пальца и всю таблицу индексов, ID и координат касаний.

Создадим проект:

Project name : P1031_MultiTouch
Build Target : Android 2.3.3
Application name : MultiTouch
Package name : ru.startandroid.develop.p1031multitouch
Create Activity : MainActivity

strings.xml и main.xml нам снова не понадобятся, их не трогаем.

Кодим MainActivity.java :

Package ru.startandroid.develop.p1031multitouch; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.TextView; public class MainActivity extends Activity implements OnTouchListener { StringBuilder sb = new StringBuilder(); TextView tv; int upPI = 0; int downPI = 0; boolean inTouch = false; String result = ""; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tv = new TextView(this); tv.setTextSize(30); tv.setOnTouchListener(this); setContentView(tv); } @Override public boolean onTouch(View view, MotionEvent event) { // событие int actionMask = event.getActionMasked(); // индекс касания int pointerIndex = event.getActionIndex(); // число касаний int pointerCount = event.getPointerCount(); switch (actionMask) { case MotionEvent.ACTION_DOWN: // первое касание inTouch = true; case MotionEvent.ACTION_POINTER_DOWN: // последующие касания downPI = pointerIndex; break; case MotionEvent.ACTION_UP: // прерывание последнего касания inTouch = false; sb.setLength(0); case MotionEvent.ACTION_POINTER_UP: // прерывания касаний upPI = pointerIndex; break; case MotionEvent.ACTION_MOVE: // движение sb.setLength(0); for (int i = 0; i < 10; i++) { sb.append("Index = " + i); if (i < pointerCount) { sb.append(", ID = " + event.getPointerId(i)); sb.append(", X = " + event.getX(i)); sb.append(", Y = " + event.getY(i)); } else { sb.append(", ID = "); sb.append(", X = "); sb.append(", Y = "); } sb.append("\r\n"); } break; } result = "down: " + downPI + "\n" + "up: " + upPI + "\n"; if (inTouch) { result += "pointerCount = " + pointerCount + "\n" + sb.toString(); } tv.setText(result); return true; } }

В onCreate мы создаем TextView, присваиваем обработчик – текущее Activity, и помещаем в Activity.

Разбираемся с onTouch . Если для одного касания мы использовали метод getAction, чтобы понять какое событие произошло, то с мультитачем надо использовать getActionMasked . Индекс касания определяется методом getActionIndex . Кол-во текущих касаний – getPointerCount .

Если событие - ACTION_DOWN , значит мы получили первое касание. Ставим метку inTouch = true. Она для нас будет означать, что есть касания. Обратите внимание, что в этой ветке case мы не ставим break – следующая case-ветка (ACTION_POINTER_DOWN) также выполнится при ACTION_DOWN.

Если событие ACTION_POINTER_DOWN (или ACTION_DOWN), то в переменную downPI помещаем индекс касания. Это будет индекс последнего прикоснувшегося пальца.

Если событие - ACTION_UP , значит последнее касание прервано и экрана больше ничего не касается. Ставим inTouch = false, т.е. отсутствие касаний. Очищаем StringBuilder, который содержит информацию о движениях.

Если событие - ACTION_POINTER_UP (или ACTION_UP), то в переменную upPI помещаем индекс касания. Это будет индекс последнего прерванного касания. Т.е. когда мы одно за другим прерываем касания, эта переменная будет содержать один за другим индексы последнего из прерванных.

Если событие ACTION_MOVE – мы перебираем все существующие индексы. С помощью pointerCount определяем, какие из них сейчас задействованы и содержат информацию о касаниях. Для них мы пишем номер индекса, ID (метод getPointerId) и координаты (getX и getY). Для незадействованных пишем только номер индекса. Пишем мы это все в StringBuilder.

Далее при любом событии формируем result, пишем туда индекс последнего касания и последнего завершенного касания. Если в данный момент есть касание (inTouch), то добавляем в результат содержимое StringBuilder с подробной инфой о всех касаниях. И выводим result в TextView.

Все сохраним и запустим. На эмуляторе я не знаю способов добиться мультитача, поэтому я тестирую на планшете. Скрин с него.

Я коснулся экрана 5-ю пальцами (последовательно от большого до мизинца, ID от 0 до 5) и потом один (указательный, ID = 1) убрал с экрана.

down показывает, что последний прикоснувшийся палец был с индексом 4

up показывает, что последний убранный с экрана палец был с индексом 1

pointerCount показывает количество действующих касаний

И строки по индексам показывают подробную информацию о касаниях.