Не работает свайп сверху. Swipeup Utility — сделай свайп вверх полезным

Ни для кого не секрет, что удержание кнопки «Домой» или свайп от неё вверх на домашнем экране вызывают в Android сервис индивидуальных подсказок Google Now. Однако не каждый может находить его полезным. А те, кто ценит старания Google услужить пользователю, чаще всего уже имеют в своём распоряжении Google Now на крайнем левом экране благодаря чистому Android или лаунчеру Google Старт. Фактически из-за этого очень удобная функция остаётся бесполезной. Но, как и всегда, на выручку приходят сторонние разработчики и их приложение Swipeup Utility !

Конечно, опытные пользователи сразу отметят, что таких приложений в Google Play наверняка не один десяток. Однако у Swipe Up Utility на поверку может оказаться несколько преимуществ.

Во-первых, не будем забывать, что Android давным-давно оставил позади версию 2.0 и больше не заставляет пользователей плакать кровавыми слезами. Напротив, с приходом Lollipop и распространением канонов среди разработчиков мобильная ОС от Google стала истинным пристанищем интерфейс-эстетов. Swipeup Utility, несмотря на то что его интерфейс, по сути, создан для единоразовой настройки приложения, выполнен вполне в духе времени. В нем, конечно, нет плавающей кнопки или выдвигающейся шторки с завораживающей анимацией стрелочки, но они тут и ни к чему. Зато у него симпатичная иконка и значки предлагаемых функций.

К слову, о функциях. Swipeup Utility может похвастать не только выбором того, какое приложение запустится после свайпа вверх (или удержания кнопки), но и предложить несколько системных альтернатив. Какие-то из них бесплатны, а какие-то требуют приобретения платной версии приложения. Впрочем, 51,74 рубля вполне демократичная цена. В частности, одним из самых любопытных вариантов настройки является вызов шторки уведомлений. Думаю, такое решение может спасти немало смартфонов от эффектного экрана с паутинкой из трещин.

Помимо прочего, приложение будет дисциплинировано считать, сколько раз оно спасло вас от вызова Google Now. Кто знает, какая статистика может пригодиться в жизни.

Приложение: Swipeup Utility Разработчик: Adrian Campos Категория: Инструменты Версия: 1.9.3 Цена: Бесплатно Скачать:

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

Какие жесты используются для управления android смартфоном/планшетом

Касание или тап

Касание имеет второе название – тап. Это самое частое действие, применяемое в сенсорном управлении. Тапом можно включать какие-либо функции, запускать програмы, выбрать пункты меню, активировать параметр и т.п. Касание напоминает клик мыши в компьютере. Если по отношению к компьютеру говорят – кликнуть мышью, то в Android можно услышать – тапнуть или дважды тапнуть.

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

Двойное касание или двойной тап

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

Касание с удержанием или долгий тап

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

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

Смахивание, пролистывание или свайп

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

Касание с перемещением

Касание с перемещение в Android OS – это аналог перетаскивания объекта мышью с ее зажатой левой кнопкой. Как и в компьютерных операционных системах, в сенсорных устройствах под управлением мобильных ОС перетаскивание позволяет перемещать объекты (папки, файлы, иконки и т.п.) из одного места в другое.

Для выполнения этого действия коснитесь нужного объекта на экране и не отпускайте палец. Когда объект выделиться, то его можно перетащить в нужное место.

Сведение/разведение пальцев или зум

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

Все жесты в Android интуитивно понятны и не сложны. После небольшой тренировки вы будете уверенно управлять ваши смартфоном или планшетом, даже не задумываясь о своих действиях.

Термин gesture — способ объединить движения пальцем по экрану для запуска какого-то действия; движение пальцем в таком случае используется вместо просто касания или клика. Полное касание (complete touch) или mouse — move-capturing функция — нужна для того, чтобы жесты регистрировались и были абсолютно правильными. Сегодня хорошая поддержка этой функции есть только в браузерах Safari и Android.

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

Рис. 8.5. Google Fast Flip новый просмотрищик, использующий жесты на iPhone и Android устройств. Слева вы увидите предупреждающий диалог с инструкциями о том, как его использовать. Вы увидите инструкции только один раз.

Жест Swipe

Жест swipe (также известен как flip) — технология для тач-браузеров, обычно используется для перемещения контента вперед-назад. Этот жест используется, например, во многих фото-галереях для смены выведенного на экран изображения и в презентациях для перелистывания слайдов. Суть жеста — простое движение пальцем по оси Х слева направо (горизонтальный swipe) или по оси Y сверху вниз (вертикальный swipe). swipe-жест поддерживается практически в каждом сенсорном устройстве, так как осуществляется одним пальцем.

Для перехвата swipe-действия нет специального стандартного события, поэтому будем эмулировать его, используя имеющиеся стандартные события

В устройствах Symbian 5-го поколения если вместо курсора использовать палец, то для событий mouse down, move и up получаются довольно странные результаты. Событие генерируется только один раз во время действия пальцем «перетащить» (drag), а событие вообще не срабатывает, если палец перемещен из точки начальных mouse-down координат. Поэтому, для обнаружения swipe в некоторых ситуациях нужны разные подходы.

Последовательность действий:

  1. Перехват события (или ontouchstart в iPhone и других совместимых браузерах) и старт записи жеста.
  2. Перехват (или ontouchmove в iPhone и браузерах с необходимой поддержкой) и продолжение записи жеста, если перемещение по оси Х (или Y) происходит в пределах определенного порога. Отмена жеста, если перемещение происходит по другой оси.
  3. Перехват onmouseup (или ontouchend в iPhone и браузерах с необходимой поддержкой) и, если в этот момент жест продолжался (был активным) и разница между исходными и конечными координатами больше, чем определенная константа - определите swipe в одном направлении.

Последний пункт может быть заменен проверкой жеста на-лету внутри события onmousemove.

Если ты используешь в работе jQuery, можно для обнаружения горизонтального жеста swipe на устройствах iPhone использовать бесплатный плагин отсюда http://plugins.jquery.com/project/swipe .

При помощи следующего кода мы можем создать объектно-ориентированную библиотеку для обнаружения swipe (совместимо iPhone, Android и другими устройствами):

/** Creates a swipe gesture event handler */ function MobiSwipe(id) { // Constants this.HORIZONTAL = 1; this.VERTICAL = 2; this.AXIS_THRESHOLD = 30; // The user will not define a perfect line this.GESTURE_DELTA = 60; // The min delta in the axis to fire the gesture // Public members this.direction = this.HORIZONTAL; this.element = document.getElementById(id); this.onswiperight = null; this.onswipeleft = null; this.onswipeup = null; this.onswipedown = null; this.inGesture = false; // Private members this._originalX = 0 this._originalY = 0 var _this = this; // Makes the element clickable on iPhone this.element.onclick = function() {void(0)}; var mousedown = function(event) { // Finger press event.preventDefault(); _this.inGesture = true; _this._originalX = (event.touches) ? event.touches.pageX: event.pageX; _this._originalY = (event.touches) ? event.touches.pageY: event.pageY; // Only for iPhone if (event.touches && event.touches.length!=1) { _this.inGesture = false; // Cancel gesture on multiple touch } }; var mousemove = function(event) { // Finger moving event.preventDefault(); var delta = 0; // Get coordinates using iPhone or standard technique var currentX = (event.touches) ? event.touches.pageX: event.pageX; var currentY = (event.touches) ? event.touches.pageY: event.pageY; // Check if the user is still in line with the axis if (_this.inGesture) { if ((_this.direction==_this.HORIZONTAL)) { delta = Math.abs(currentY-_this._originalY); } else { delta = Math.abs(currentX-_this._originalX); } if (delta >_this.AXIS_THRESHOLD) { // Cancel the gesture, the user is moving in the other axis _this.inGesture = false; } } // Check if we can consider it a swipe if (_this.inGesture) { if (_this.direction==_this.HORIZONTAL) { delta = Math.abs(currentX-_this._originalX); if (currentX>_this._originalX) { direction = 0; } else { direction = 1; } } else { delta = Math.abs(currentY-_this._originalY); if (currentY>_this._originalY) { direction = 2; } else { direction = 3; } } if (delta >= _this.GESTURE_DELTA) { // Gesture detected! var handler = null; switch(direction) { case 0: handler = _this.onswiperight; break; case 1: handler = _this.onswipeleft; break; case 2: handler = _this.onswipedown; break; case 3: handler = _this.onswipeup; break; } if (handler!=null) { // Call to the callback with the optional delta handler(delta); } _this.inGesture = false; } } }; // iPhone and Android"s events this.element.addEventListener("touchstart", mousedown, false); this.element.addEventListener("touchmove", mousemove, false); this.element.addEventListener("touchcancel", function() { _this.inGesture = false; }, false); // We should also assign our mousedown and mousemove functions to // standard events on compatible devices }

Вот простой пример использования нашей бибилотеки swipe.js с с горизонтальным обнаружением swipe и другим

с вертикальным обнаружением:

Swipe Gesture Detection

Vertical Swipe
Horizontal Swipe

Во многих сенсорных устройствах жест «перетащить» (drag) используется для прокрутки содержимого страницы и, при этом, не поддерживается функция preventDefault (о функции предотвращения поведения по умолчанию мы говорили чуть ранее в этой главе). Именно поэтому мы должны помимо жеста swipe рассмотреть и другие доступные способы навигации.

Жесты машстабирования и поворота

Когда iPhone только появился, самыми крутыми функциями в нем были именно жесты изменения масштаба и поворота. Используя жест pinching (сдвигая и раздвигая два пальца в щепотке) пользователь мог увеличить или уменьшить масштаб контента — это, как правило, изображение — на странице, а поворачивая два пальца по кругу изображение можно повернуть.

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

К счастью, начиная с iOS 2.0 эти жесты можно обнаружить не прибегая с низкоуровневой математике в тач-событиях. В таблице 8.35 перечислены три расширения WebKit, которые доступны в качестве событий. В браузере Android также добавлена поддержка этих событий.

Для масштабирования и поворота используются эти же события. Все три получают параметр GestureEvent. У этого параметра есть типичные для события свойства, а также дополнительные свойства scale и rotation.

Свойство scale определяет расстояние между двумя пальцами как множитель с плавающей точкой от начала дистанции, где было начало жеста. Если значение больше 1.0, значит это открытый pinch (увеличение), а если значение 1.0 — pinch закрытия (уменьшение).

rotation дает значение (в градусах) дельты (расстояния) вращения от начальной точки. Если пользователь вращает объект по часовой стрелке, то мы получаем положительное значение, а если против — то значение будет отрицательным.

Я знаю, что ты сейчас думаешь: «Вращение и изменение масштаба — это отлично, но какой нам от них толк, если мы работаем с HTML?». Здесь нам приходят на помощь CSS расширения для Safari на iOS (и в других браузеров с соответствующей поддержкой) с одним свойством и двумя функциями для управлением его значением: rotate и scale.

Функция rotate получает параметр в градусах и нам нужно определить deg unit после числа (например, rotate(90deg)). Узнать это мы можем из скрипта при помощи element.style.webkitTransform.

Давай рассмотри простой пример:

Gesture Management

Как работает пример можешь увидеть на Рисунке 8-6. На совместимых устройствах ты можешь двумя пальцами поворачивать и масштабировать

(вместе со всем содержимым). Только вот в чем проблема? Стиль преобразования всегда применяется к исходному элементу. Так, если мы применим к элементу масштаб 2.0, а потом еще раз увеличим на 0.5, то новое значение будет 0.5, а не 1.0, как можно было бы ожидать.

Рис. 8.6. Сочетая сенсорные события с CSS трансформациями, можно вращать и масштабировать элементы на своем сайте.

Для типичного zoom-rotate поведения мы должны заменить функцию на следующее:

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

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

Поэтому есть смысл более детально разобрать обозначение данного термина и то, как он используется.

Определение

Слово «Swype» взято из английского языка. Оно является соединением двух других слов – «swipe» , что означает «скользить» , и «type» , что означает «вводить текст» .

В свое время, а если быть точным, то в 2010-2011 годах, разработчики компании Nuance Communications соединили эти два слова.

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

Если быть точным, то Swype – это метод ввода текста, при котором палец или стилус на отрываются от клавиатуры на экране.

Именно это имели в виду специалисты Nuance Communications, когда создавали свое творение.

Главным изобретателем свайпа является Клифф Кушлер, который также придумал Т9, общеизвестную систему ввода текста с подсказками (это если говорить простым языком).

Первый же выпуск рассматриваемого нами способа набора символов датирован 24.04.2013, когда пользователи операционной системы Android 2.2 по всему миру смогли попробовать вводить текст таким образом.

Это интересно: Последняя версия Swype (1.6.5.23769) выпущена в том же 2013 году, только в декабре. С того времени Nuance Communications не занимается новыми разработками в данной области. Кроме того, компания лишь номинально поддерживает свой продукт, так как в каких-либо изменениях просто нет смысла.

На сегодняшний день существует торговая марка Swype Inc., созданная Nuance Communications. Ей принадлежат все права на использование, а также прибыль от данного продукта.

Любой пользователь может зайти на сайт swype.com , чтобы узнать больше информации.

Особенности алгоритма

Изначально данный метод был разработан для сенсорных экранов, которые на тот момент (2011-2012 год) могли отображать стандартную клавиатуру.

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

Сразу же Свайп был соединен с Т9 и клавиатура стала угадывать те слова, которые вводит юзер. Правда, здесь используется своя, несколько измененная система угадывания.

В состав Swype входит три основных модуля:

1 Анализатор траектории движения стилуса/пальца.

2 Модуль поиска слов в собственной базе данных.

3 Интерфейс (клавиатура или же программа, которая фиксирует движение по экрану).

Согласно исследованиям, при помощи рассматриваемого способа каждую минуту человек может вводить порядка 30-40 слов.

Рекорд принадлежит Андрею Дубикову, который сумел набрать 25 слов за 18 секунд. Кроме того, данная система поддерживает огромное количество языков, в том числе и русский.

На каких устройствах используется

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

  • Android;
  • Bada;
  • MeeGo;
  • Symbian;
  • Windows Mobile;

Наверняка, ваш девайс имеет одну из этих ОС. А это значит, что вы тоже можете совершенно спокойно пользоваться Swype для ввода текста, разблокировки экрана и других целей.

Это может быть смартфон, планшет, компьютер, нетбук и многое другое.

Дополнительные возможности

До последней версии разработчики постоянно добавляли в свой продукт что-то новое и интересное. Вот лишь некоторые возможности данного способа ввода:

    Собственный словарь. Интересно, что он пополняется в зависимости от того, что вводят пользователи по всему миру. Если то или иное слово, которого нет в , было использовано несколько раз, оно автоматически будет введено. Такой подход позволяет максимально точно угадывать, что будет вводить человек.

    Персональный словарь. У каждого пользователя на устройстве также формируется определенный набор слов, в который входит все, что юзер вводил на своем девайсе.

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

    Синхронизация. Все словари запоминаются не для определенного устройства, а для аккаунта, на котором оно работает. Если речь идет об ОС Андроид, то используется учетная запись в Google. Так вот, если у вас есть на Android и в них используется один и тот же аккаунт в Гугл, то введенные слова будут занесены в базу для обоих девайсов.

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

    К примеру, существует SlideIT , но это платная программа и никаких таких особенностей, которые заставили бы пользователей поголовно переходить со Swype, нет.

    Скорость ввода составляет, в среднем, 33 слова в минуту.

    Также есть TouchPal. Это уже бесплатное ПО, но, опять же, чего-то особенного вы здесь не найдете.

    Да, есть клавиатура, и есть некоторые жесты, но реальной причины что-то менять попросту не существует.

    Поэтому Swype остается наиболее используемым на сегодняшний день методом ввода символов на мультимедийных сенсорных устройствах!

    Свайп - подробное руководство по мобильной клавиатуре (2019)

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

Swype (от англ. swipe - проводить не отрывая + type - набирать текст) — торговая марка, которая используется компанией Swype Inc. для обозначения способа ввода текста таким образом, при котором палец не отрывается от клавиатуры. Считается, что в этом случае пользователь способен набрать куда больше слов за тот же промежуток времени по сравнению с клавиатурой, которая не использует указанный способ ввода текста.

Пример на базе клавиатуры Gboard:

Обратите внимание, что система способна автоматически подбирать слова (автоподбор).

Этот способ ввода можно включить/отключить через настройки клавиатуры. На примере того же приложения Gboard — «Непрерывный ввод»:

Интересно, что создателем способа написания текста является тот же самый человек, который когда-то придумал систему ввода текста T9.

Однако выше — лишь одно значения слова «свайп», ведь имеется еще одно от англ. swipe — проводить не отрывая. Что это значит? Значит, что свайп — провести пальцем по экрану смартфона. К примеру, если вам необходимо открыть панель быстрого доступа или так называемую шторку, вы должны сделать свайп от верхней части экрана к нижней, то есть провести пальцем сверху вниз:

  • Свайп влево — провести пальцем по экрану влево.
  • Свайп вправо — провести пальцем по экрану вправо.
  • Свайп вниз — провести пальцем по экрану вниз.
  • Свайп вверх — провести пальцем по экрану вверх.