Точки касания android для чего

Полный список

Раньше мы для View-компонентов использовали OnClickListener и ловили короткие нажатия. Теперь попробуем ловить касания и перемещения пальца по компоненту. Они состоят из трех типов событий:

— нажатие (палец прикоснулся к экрану)
— движение (палец движется по экрану)
— отпускание (палец оторвался от экрана)

Все эти события мы сможем ловить в обработчике OnTouchListener, который присвоим для View-компонента. Этот обработчик дает нам объект MotionEvent, из которого мы извлекаем тип события и координаты.

На этом уроке рассмотрим только одиночные касания. А мультитач – на следующем уроке.

Project name: P1021_Touch
Build Target: Android 2.3.3
Application name: Touch
Package name: ru.startandroid.develop.p1021touch
Create Activity: MainActivity

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

MainActivity реализует интерфейс OnTouchListener для того, чтобы выступить обработчиком касаний.

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

Интерфейс OnTouchListener предполагает, что Activity реализует его метод onTouch. На вход методу идет View для которого было событие касания и объект MotionEvent с информацией о событии.

Методы getX и getY дают нам X и Y координаты касания. Метод getAction дает тип события касания:

ACTION_DOWN – нажатие
ACTION_MOVE – движение
ACTION_UP – отпускание
ACTION_CANCEL – практически никогда не случается. Насколько я понял, возникает в случае каких-либо внутренних сбоев, и следует трактовать это как ACTION_UP.

В случае ACTION_DOWN мы пишем в sDown координаты нажатия.

В случае ACTION_MOVE пишем в sMove координаты точки текущего положения пальца. Если мы будем перемещать палец по экрану – этот текст будет постоянно меняться.

В случае ACTION_UP или ACTION_CANCEL пишем в sUp координаты точки, в которой отпустили палец.

Все это в конце события выводим в TextView. И возвращаем true – мы сами обработали событие.

Теперь мы будем водить пальцем по экрану (курсором по эмулятору) в приложении, и на экране увидим координаты начала движения, текущие координаты и координаты окончания движения.

Все сохраним и запустим приложение.

Ставим палец (курсор) на экран

Если вчерашний вечер не удался, голова не болит, рука тверда и не дрожит :), то появились координаты нажатия.

Если же рука дрогнула, то появится еще и координаты перемещения.

Продолжаем перемещать палец и видим, как меняются координаты Move.

Теперь отрываем палец от экрана и видим координаты точки, в которой это произошло

В целом все несложно. При мультитаче процесс немного усложнится, там уже будем отслеживать до 10 касаний.

Если вы уже знакомы с техникой рисования в Android, то вполне можете создать приложение выводящее на экран геометрическую фигуру, которую можно пальцем перемещать. Простейший пример реализации можно посмотреть тут: http://forum.startandroid.ru/viewtopic.php?f=28&t=535.

На следующем уроке:

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

Присоединяйтесь к нам в Telegram:

— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня

— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме

Источник

Что такое мультитач в телефоне

В характеристиках мобильного телефона, смартфона или планшета можно встретить такой термин как мультитач. Обычно значение данного термина не объясняется, поэтому многие пользователи не понимают, что такое мультитач в телефоне и для чего он нужен. Если вы также столкнулись с данным вопросом, то предлагаем ознакомиться с этим материалом.

Что такое мультитач

Multi-touch с использованием 10 пальцев.

Читайте также:  Андроид для двоих девушек

Мультитач или мульти-тач (от английского Multi-touch) – это один из вариантов реализации сенсорного экрана (тачскрина), при котором может использоваться более одного касания одновременно. Если классический сенсорный экран может распознать только одно касание пользователя в один момент времени, то мультитач экран может определить расположение от 2 до 10 касаний одновременно. Это позволяет управлять устройством используя все 10 пальцев.

Может показаться, что такая возможность несколько излишня, но на самом деле возможность распознавать более одного касания одновременно открывает новые возможности для управления телефоном и значительно расширяет его возможности. Очевидный пример, это жесты с использованием нескольких пальцев. С их помощью можно мгновенно выполнять действия, для которых на обычном сенсорном экране могло понадобиться 2 или 3 отдельных касания.

Разработка сенсорных экранов началась еще в 60-х годах ХХ-столетия, а экраны с мультитач начали активно разрабатывать в 80-х. Но, внедрять данную технологию начали только с приходом 2000-х. Бум мультитач-устройств произошел после анонса первого поколения iPhone и дальнейшей популяризации умных телефонов. Сейчас, практически все потребительские устройства с сенсорным экраном поддерживают мультитач. Данная возможность есть в мобильных телефонах, смартфонах, планшетных компьютерах, ноутбуках и других умных устройствах с сенсорным экраном.

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

Большая Multitouch панель.

Как мы уже сказали, мультитач открывает дополнительные возможности для взаимодействия с интерфейсом телефона. В первую очередь это обеспечивают жесты с использованием нескольких пальцев одновременно. Для примера приводим несколько мультитач жестов, которые используются на мобильных телефонах:

  • Сведение и разведение двух пальцев – уменьшение и увеличение масштаба изображения;
  • Движение двух пальцев вокруг центра – вращение объекта в приложении;
  • Перемещение двух пальцев или нажатие двумя пальцами – взаимодействие с объектом в приложении;
  • Удерживание одного пальца и перемещение второго – выделение объектов в приложении;
  • Сведение пяти пальцев – закрытие приложения или переход к списку запущенных приложений;

Кроме жестов мультитач открывает и другие возможности, например:

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

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

  • Навигаторы;
  • Портативные приставки;
  • Ноутбуки;
  • Мониторы;
  • Фотоаппараты;
  • Мультимедийные столы;
  • Умные проекторы;
  • Автомобили;

Как проверить мультитач на телефоне

На большинстве современных мобильных телефонов мультитач работает отлично. Даже на самых бюджетных телефонах данная функция работает безукоризненно и распознает все 10 касаний. Но, при желании вы можете проверить, как мультитач работает на вашем устройстве.

Для этого вам понадобится приложение для проверки мультитача, например, AnTuTu Benchmark. Запустите данное приложение на своем устройстве и перейдите в раздел «Тест функций – Тест мультитач».

Проверка Multi-touch на телефоне.

После этого коснитесь всеми пальцами к экрану телефона и отпустите. На экране появится количество зафиксированных касаний.

Источник

Русские Блоги

Система координат окна и события касания экрана в Android

1. Система координат Android

В физике для описания движения объекта необходимо выбрать систему отсчета. Так называемое скольжение — это движение относительно системы отсчета. В Android вершина в верхнем левом углу экрана берется за начало системы координат Android. От этой точки вправо — положительное направление оси X, а от этой точки вниз — положительное направление оси Y, как показано на следующем рисунке:

Система предоставляет такой метод, как getLocationOnScreen (int location []), чтобы получить местоположение средней точки системы координат Android, то есть левый верхний угол представления находится на Android. Координаты системы координат. Кроме того, координаты, полученные с помощью методов getRawX () и getRawY () в событии касания, также являются координатами в системе координат Android.

2. Просмотр системы координат

В дополнение к системе координат, упомянутой выше, в Android также существует система координат представления, которая описывает позиционные отношения дочернего представления в родительском представлении. Эти две системы координат не противоречат друг другу и не сложны, и их роли дополняют друг друга. Подобно системе координат Android, система координат представления также принимает начало координат вправо в качестве положительного направления оси X и начало координат вниз в качестве положительного направления оси Y, но в системе координат представления начало координат больше не является самым экраном в системе координат Android. Верхний левый угол, но сВерхний левый угол родительского представленияНачало координат, как показано на рисунке ниже:

Читайте также:  Как вызвать командную строку андроид

В событии касания координаты, полученные с помощью getX () и getY (), являются координатами в системе координат представления.

3. Коснитесь event-MotionEvent.

Событие касания MotionEvent занимает центральное место в процессе взаимодействия с пользователем, а хорошее изучение сенсорных событий является основой для освоения последующего контента. Во-первых, давайте взглянем на некоторые общие константы событий, инкапсулированные в MotionEvent, которые определяют различные типы событий касания.

Обычно мы используем event.getAction () в методе onTouchEvent (событие MotionEvent) для получения типа события касания и используем метод switch-case для фильтрации. Шаблон кода в основном фиксирован, как показано ниже:

В случае отсутствия многоточечных операций приведенный выше код обычно можно использовать для завершения мониторинга событий касания, но это всего лишь шаблон кода, мы завершим конкретную логику в событии касания позже.
В Android система предоставляет множество методов для получения значений координат, относительных расстояний и т. д. Богатые методы — это хорошо, но они также сбивают с толку новичков. Я не знаю, какой метод использовать при каких обстоятельствах. Ниже приводится сводка некоторых API-интерфейсов в сочетании с системой координат Android, чтобы увидеть, как их использовать, как показано на следующем рисунке:

  • Метод просмотра для получения координат

GetTop (): получение расстояния от верха самого представления до верха его родительского представления.
getLeft (): получает расстояние от левой стороны самого представления до левой стороны его родительского представления.
getRight (): получить расстояние от правой стороны самого представления до левой стороны его родительского представления.
getBottom (): получить расстояние от низа самого представления до верха его родительского представления.

  • Методы, предоставляемые MotionEvent

GetX (): получить расстояние от точки касания от левой стороны обзора, то есть координаты обзора.
getY (): получить расстояние между точкой касания и верхней частью представления, которое является координатой представления.
getRawX (): получает расстояние до точки касания от левой стороны всего экрана, то есть абсолютные координаты.
getRawY (): получить расстояние от точки касания от верхней части всего экрана, то есть абсолютные координаты.

Примечание. Система координат представления относится к родительскому элементу управления.

Источник

UI-элементы и жесты в мобильных приложениях

Хабр, привет! Вы часто задумывались, обнаружив баг в мобильном приложении и заводя его в баг-трекер, как правильно назвать ту или иную часть интерфейса или действие, которые привели к ошибке? Или читаешь описание задачи и задумываешься, как должен выглядеть какой-то экран и что должно появиться при тапе на кнопку. А может, вы описываете продуктовые задачи и не всегда чувствуете себя на одной волне с дизайнерами и разработчиками, которые иногда начинают говорить на эльфийском? Чтобы исключить недопонимание, неясности и вопросы, мы решили создать перечень наиболее распространенных элементов и жестов и показать их на примере Юлы.

А вы знали, как называется «та самая выезжающая снизу экрана шторка» или несколько (три и более) тапов подряд? Ответы на эти вопросы и названия многих других элементов читайте в нашей статье.

Splashscreen — изображение, «заставка», которую пользователь видит во время загрузки приложения.

Заглушка — название говорит само за себя: это элемент, сигнализирующий о какой-то проблеме(отсутствует интернет-соединение, сервер временно недоступен, ведутся технические работы, по вашему запросу ничего не найдено и т.п.). Обычно заглушка отображается там, где должен быть контент, но по каким-то причинам он не был получен.

Читайте также:  Андроид usb накопитель что это

Webview — компонент, который позволяет отобразить страницы веб-сайта в приложении. Например, webview «Как получить бонусы»:

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

Action menu — кнопка, которая представляет собой три точки, и при нажатии (тапе) на которую открывается меню с несколькими action’ами.

Tab — вкладка; обычно переключение между табами осуществляется нажатием (тапом) на нужный таб или смахивание (свайпом) вправо/влево.

Toast — всплывающее уведомление, не блокирующее работоспособность приложения и плавно исчезающее спустя несколько секунд. Может сообщать о какой-то ошибке, о совершении какого-то действия (например, публикация каких-то изменений). Обычно тоаст содержит текстовую информацию, но может содержать и картинку.

Progress Bar — индикатор степени выполнения какого-либо действия (например, показывает оставшееся время работы активности «продвижение товара»).

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

AppBar (Android) / NavBar (iOS) — панель инструментов в верхней части экрана, содержащая кнопки управления текущим экраном.

Alert — оповещение, которое передает важную информацию, связанную с состоянием приложения или устройства, и часто запрашивает обратную связь. Алерт состоит из заголовка, необязательного сообщения, одной или нескольких кнопок.

Toggle switches/Тумблер — переключатель между двумя состояниями вкл/выкл.

Bottomsheet — информационная панель, появляющаяся снизу экрана поверх текущего состояния при совершении какого-нибудь действия. Может содержать информацию, а также какие-либо действия.

Bubble — овальный элемент выбора какого-либо параметра, чаще всего используется в фильтрах.

Строка поиска — поле ввода для поискового запроса.

Placeholder — текстовая заглушка в поле ввода, подсказывающая, что можно туда ввести (на скринах — текст «Поиск объявлений»).

Page Controls — элемент управления, который отображает текущее положение экрана в плоском списке страниц (на скринах — точки над кнопкой, отображающие текущее положение через изменение цвета).

Counter — точка или число, обозначающее количество непросмотренных уведомлений (например, количество непрочитанных сообщений).

Overlay — перекрывающий слой, который позволяет затемнить или осветлить элемент, на который он был наложен.

Tooltip — всплывающее сообщение, которое завязано на элемент и обучает использованию той или иной части приложения.

Onboarding — обучающая функциональность в приложении, появляющаяся при первом запуске для ознакомления пользователя с продуктом.

Suggest List — выпадающий список, состоящий из подсказок; появляется при вводе букв, слов или символов в поле ввода. Или список ранее совершенных поисковых запросов. Отдельный пункт из этого списка — Suggest.

Checkbox — элемент интерфейса, позволяющий выбрать любое количество опций (ни одной, одну или несколько).

Status Bar — строка состояния, содержащая общую информацию об устройстве: время, дату, сеть, уровень заряда и т.п.

Slider — горизонтальная шкала с элементом управления, по которой скольжением пальца можно управлять состоянием или значением характеристики (в нашем случае расстоянием от указанного адреса):

Жесты

Тап — касание, нажатие на сенсорный экран. Чтобы открыть любое приложение на смартфоне — мы тапаем на его иконку.

Double tap — два коротких касания, двойной тап.

Мультитап — три и более тапов подряд по одному элементу.

Лонгтап — нажатие с удержанием на несколько секунд. Позволяет открыть дополнительные опции там, где они есть.

Скролл — вертикальное пролистывание содержимого скольжением пальца по экрану сверху вниз или снизу вверх.

Свайп — смахивание вниз, вверх, вправо или влево. Похоже на скролл, только с «легким», коротким касанием.

Pull to refresh (p2r) — дословный перевод: «потяни для обновления».

Drag&Drop — изменение положения элементов интерфейса с помощью перетягивания: как говорит нам название «тащи и бросай»!

Pinch — жест, используемый для изменения масштаба картинки (увеличения или уменьшения): для уменьшения два пальца касаются экрана и сводятся вместе, для увеличения — разводятся в стороны.

Вот и весь наш список терминов, описывающих элементы интерфейса и жесты. А чем его дополнили бы вы?

Источник

Оцените статью