Приложение Evernote отличается высоким качеством и удобством использования, однако и в нем есть свои ошибки. Многие из них довольно типичны и встречаются во многих популярных программах. Данный пост не претендует на непреложную истину, однако я постарался аргументирвоать свои замечания выдержками из гайдлайнов Google.
Боковое меню
Боковое меню в гайдлайнах Android появилось сравнительно недавно и к этому моменту уже было реализовано во многих приложениях по-своему. В связи с этим, его поведение часто отличается, что негативно сказывается на удобстве использования. Гугл выпустил свои рекомендации, но многие приложения не торопятся им соответствовать.
Индикатор бокового меню
На странице с описанием Navigation Drawer Google дает четкие рекомендации по иконке индикатора наличия бокового меню:
Для облегчения доступа к боковому меню, все экраны, которые соответствуют записям в этом меню, должны содержать индикатор бокового меню рядом с иконкой приложения в Action Bar. Нажатие на иконку приложения заставляет меню выехать с левого края экрана.
Все экраны ниже по иерархии, должны включать обычный индикатор «вверх» рядом с иконкой приложения. Боковое меню все ещё доступно по свайпу от левого края, но это никак не отображается в Action Bar.
Если же мы запустим Evernote, то уже на главном экране мы увидим иконку «Вверх». Нажатие на нее, вызовет боковое меню. На других экранах, включая список записей в блокноте и даже экран просмотра записи, так же нарисована иконка «вверх» и вызывает она так же боковое меню, а не переход по иерархии экранов!
Выход из приложения
Нажатие кнопки «Назад» на экранах верхнего уровня никогда не вызывает боковое меню! Вместо этого, кнопка «назад» ведет себя согласно правилам перехода для экранов верхнего уровня, таких как переход к предыдущему приложению вверх по стэку или к домашнему экрану.
Evernote по нажатию на кнопку «назад» на экранах верхнего уровня открывает боковое меню, не смотря на все рекомендации.
Закрытие бокового меню
Когда боковое меню открыто, пользователь его может закрыть одним из следующих способов:
- Нажатием на содержимое за пределами меню
- Свайпом справа налево
- Нажатием на иконку приложения/заголовок в Action Bar
- Нажатием кнопки «Назад»
В Evernote есть только один способ закрыть боковое меню — свайп справа. Нажатие на содержимое или на заголовок ни к чему не приводит. А нажатие на кнопку назад работает так же, как если меню в приложении отсутствует.
Боковое меню и контекстный Action Bar
Иногда, пользователю может показываться контекстный action bar (CAB) вместо стандартного. Это обычно происходит, когда пользователь выделяет текст или несколько элементов после жеста «нажать-и-удержать». Пока CAB видим, пользователю все равно необходимо разрешить вызывать боковое меню свйпом от края экрана. Когда меню открыто, CAB должен быть заменен на action bar меню. Когда пользователь закрывает боковое меню, контекстный action bar снова становится видим.
В Evernote вы можете выделить текст заметки, затем открыть боковое меню. Но когда меню будет закрыто, выделение пропадет, даже если вы не покидали заметку.
Action Bar
Аппаратная кнопка «меню»
В Evernote мы не может вызвать меню с помощью аппаратных кнопок, хотя закрыть его так получается. На странице, посвященной совместимости между версиями Android рассказывается про поведение на аппаратах, имеющих физические кнопки и отдельную кнопку «меню», в частности.
Android-телефоны с традиционными аппаратными кнопками не показывают виртуальную панель навигации внизу экрана. Вместо этого, меню переполнения Action Bar доступно для вызова по нажатию на аппаратную кнопку «меню». В результате всплывает такое же меню с действиями, как и при нажатии на иконку переполнения action bar, но внизу экрана.
Названия действий
Долгое нажатие на иконке действия приводит к появлению её имени
Evernote в большинстве случаев действительно так делает. Единственное место, где подсказка не вылезает — это иконка создания напоминания при просмотре заметки. Но вот с местом выдачи подсказки разработчики промахнулись. Для сравнения скриншот из Google Play и Evernote:
Контекстный Action Bar
Контекстный Action Bar (CAB), это временная панель, которая закрывает обычный Action Bar приложения на время выполнения подзадачи. CAB обычно применяются для выполнения операций над выделенными данными или текстом.
В рассматриваемом приложении CAB можно вызвать в двух случаях: выделение текста при просмотре заметки и при её редактировании. В первом случае все хорошо, однако во втором мы видим вот такую картину:
Долгое нажатие
В предыдущих версиях Android, долгое нажатие обычно использовалось для вызова контекстного меню.
Это поведение изменилось в Android 3.0. Долгое нажатие теперь используется для выделения, совмещая функцию управления выделением и контекстные действия в новом элементе, называемом контекстный action bar.
<...>
- Зарезервируйте долгое нажатие только для выделения. Не используйте его для традиционных контекстных меню.
- Если ваше приложение не поддерживаем множественное выделение в списке, долгое нажатие не должно ничего делать.
Это изменение сложнее всего воспринимают разработчики приложений. До сих пор масса приложений использует его по старинке. Так и в Evernote, оно используется именно для контекстного меню, а не игнорируется ввиду отсутствия поддержки множественного выделения.
Автор: Tishka17