Групповые видеозвонки: 7 сервисов на замену Skype

Групповые видеозвонки: 7 сервисов на замену Skype

❤ 308 , Категория: Новости IT,   ⚑ 10 Фев 2018г


С выпуском нового Google Pixelbook, Google Play Store официально заработал на Chrome OS. Да и общее использование Chromebook растет – пришло время подумать о том, как ваше Android-приложение будет работать в Chrome OS.

Большинство приложений для Android уже доступны пользователям Chromebook и работают без необходимости что-либо менять. Однако есть несколько областей, которые, как правило, требуют некоторого внимания и оптимизации. Мы рассмотрим одну из них в этой статье – совместимость ввода (input compatibility).

Input Compatibility

Наиболее очевидным отличием при использовании вашего приложения на Chromebook является наличие клавиатуры, трекпада, а иногда и стилуса, поставляемого вместе с устройством. Многие (но не все) имеют сенсорный экран, поэтому ваше приложение должно понимать эти системы ввода данных. Пользователи ожидают, что некоторые приложения будут вести себя так же, как на любом другом ноутбуке при использовании Chromebook, поэтому при тестировании вашего приложения на Chrome OS подумайте о функциях, которые вы хотели бы использовать в этом форм-факторе.

Во-первых, вы должны убедиться, что вам не требуется сенсорный экран или мультитач в манифесте, если вы хотите, чтобы ваше приложение использовалось в Chrome OS. Трекпад имитирует фейковое сенсорное событие, поэтому, если вам нужен сенсорный экран, то ваше приложение не будет доступно на некоторых устройствах Chrome OS.

Если вы действительно считаете, что вашему приложению нужен реальный сенсорный экран или мультитач и жестко это ограничиваете, то подумайте о том, как вы могли бы предоставить хороший опыт либо с помощью симулированного сенсорного жеста операционной системы, либо с помощью других способов обработки нужного поведения. Убедитесь, что ваше приложение будет доступно на всех устройствах Chrome OS, не требуя сенсорного экрана:

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />

Клавиатура

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

Читайте также:  YouTube поделился планами на 2022 год

Вы можете легко добавлять навигацию с помощью клавиши Tab, используя атрибут android: nextFocusForward в ваших файлах макета. Навигацию с помощью клавиш со стрелками также легко добавлять в файлы макета, используя атрибут android: nextFocusDown (для стрелки вниз) и соответствующие атрибуты для каждой стрелки навигации. Подробнее о добавлении этой функции читайте здесь.

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

@Override
public boolean dispatchKeyShortcutEvent(KeyEvent event) { if (event.getMetaState() == KeyEvent.META_CTRL_ON && event.getKeyCode() == KeyEvent.KEYCODE_S) { //save action return true; } return super.dispatchKeyShortcutEvent(event);
}

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

Мышка и трекпад

Многие пользователи Chrome OS не будут использовать сенсорный экран для большей части навигации по вашему приложению. Такие вещи, как длинные щелчки (long-clicks) или жесты (swiping), становятся неинтуитивными, поэтому убедитесь, что ваша функциональность не заточена только на сенсорный интерфейс.

Самый простой способ справиться с проблемой длинных щелчков – правая кнопки мыши! Использование View.onContextClickListener дает вам простой способ обнаружения событий клика правой кнопкой мыши.

rightClickItem.setOnContextClickListener( new View.OnContextClickListener() { @Override public boolean onContextClick(View v) { // right click action return true; }
});

Чтобы справиться с отсутствием простой в использовании функциональности swipe, я рекомендую предоставить функцию подсветки (hover functionality), которая позволяет пользователю выполнять то же действие. Подсветка кнопки закрытия или удаления, появляющаяся при наведении на элемент, помогает сделать ваш интерфейс более удобным для использования с помощью мыши. Вы можете использовать onHoverListener, чтобы добавить это поведение. Убедитесь, что в пользовательском интерфейсе есть видимые изменения, так, чтобы пользователь знал, что он находится в состоянии hover state.

Читайте также:  Google открывает виртуальные модели памятников старины

Групповые видеозвонки: 7 сервисов на замену Skype

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

Групповые видеозвонки: 7 сервисов на замену Skype

scrollableView.setOnGenericMotionListener( new View.OnGenericMotionListener() { @Override public boolean onGenericMotion(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_SCROLL) { //scroll event return true; } return false; }
});

Другие стратегии совместимости с мышью вы можете посмотреть здесь.

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

<uses-feature android:name="android.hardware.type.pc" android:required="false" />

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

Стилус

Некоторые устройства и телефоны на Chrome OS поставляются вместе со стилусом, поэтому вы можете рассмотреть возможность его поддержки. Есть несколько API стилуса, которые вы можете использовать для создания более полноценной поддержки. Используя View.onTouchEvent (), вы можете получить больше информации о стилусе – наклон и ориентацию, нажим, и если это касание от стилуса, то указателя или ластика.

Читайте также:  Google включил Transition API

При использовании стилуса, Chrome OS пытается игнорировать другие касания, такие как ладонь, лежащая на экране. Иногда появляются сообщения, которые Chrome OS распознает как «ладонь». Событие ACTION_CANCEL будет отправлено, чтобы сообщить приложению, что нужно избавиться от этих касаний. Чтобы обработать это, убедитесь, что вы постоянно отслеживаете серию касаний, но будьте готовы удалить события, если они поступят в ваше приложение. Более подробную информацию об этом можно найти здесь.

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

<intent-filter> <action android:name="org.chromium.arc.intent.action.CREATE_NOTE" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Следите за обновлением  API стилуса. Более подробную информацию о поддержке стилуса, в том числе о том, как протестировать устройство без стилуса, можно найти здесь.

Когда Play Store появится на всех устройствах Chrome OS, эти средства ввода и управления начнут становиться все более популярными. Вам, как разработчику, важно понимать, каким образом вы сможете улучшить работу вашего приложения на этих новых интересных форм-факторах.

Дополнительные сведения в Input compatibility for Chromebooks.

Оставить отзыв

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*
*

top