Pull to refresh

Comments 26

Примеры из жизни (реальные приложения) были бы полезны
Talon for twitter.
Отличный пример, по моему скромному мнению, правильной реализации навигации.
К тому же отличный пример по использованию всех возможностей 4.4.
Собственно, Google Play (Play Маркет) — пример приложения, созданного в соответствии с UI гайдлайнами.
Google Play – отличный пример антипаттерна номер 6.
То же относится к клиенту ВКонтакте. При попытке выйти обратно в «Новости» из переписки, приложение раз десять откроет тебе окна переписки с другими собеседниками или даже с тем же самым, только проскроллив историю сообщений повыше.
ВКонтакте — это вообще кладезь. При выходе из той же переписки Up сработает как Back и покажет сперва каждый твой активный чат, прежде чем откроет-таки список чатов. Фантомные пропадания приложения из Recents тоже доставляют часто — нажал Back, приложение закрылось, в backstack'е нет — до свидания.
Статья хорошая, но вы бы её кинули в хаб Разработка под Android. Там ей самое место
Спасибо, чертовски полезный пост, также реквестую живые примеры.
Можете, пожалуйста, подробнее описать последний пункт? Не уверен что понимаю о чём там речь.
Видимо, имеется в виду, что на экране все навигационные элементы (navigation drawer, fragment с менюхами и т.п.) должны размещаться по возможности слева.
Мне представляется картинка с планшета, где меню постоянно на экране и находится справа от контента (прилепленным к правому краю экрана). Выглядит и правда не очень удобно.
Например, меню настроек на планшете — слева категории, справа — содержимое выбранной категории.
Аналогично в почтовом клиенте: заголовки писем слева, содержимое — справа.

Очевидно, про это речь.
Добавил иллюстрации. Это в основном касается различных планшетных устройств.
The drawer view (the ListView) must specify its horizontal gravity with the android:layout_gravity attribute. To support right-to-left (RTL) languages, specify the value with «start» instead of «left» (so the drawer appears on the right when the layout is RTL).

Получается, что практике просто используем layout_gravity — «start» и Android сам, в зависимости от текущей локали будет показывать navigation drawer слева или справа. Для большинства языков предпочтительнее иметь navigation drawer слева (из-за направления чтения).
Большое спасибо за статью, очень удобно и наглядно.
Советы хорошие, хотелось бы только надеяться, что она не потеряет актуальности, скажем, за год. А то гуглы горазды выдумать ещё какой-нибудь навигационный элемент и снова переделать все свои приложения.
главная навигация должна осуществляться в navigation drawer и только потом во вкладках

Ага, на картинке-то все круто. Вот только Navigation Drawer нельзя сделать над вкладками. И Roman Nurik говорит: «You shouldn't use navigation drawers with action bar tabs. If you're aiming for a UI similar to that of Google Play Music, you should implement tabs manually». Вот почему поведение стандартных компонентов так запутывает (знаю, что вопрос риторический)?
Последнее время начал встречать все больше приложений, построенных аккурат по принципу номер 1. Точнее, против принципа — зачем-то в это меню выносится все и вся.

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

Так что, ваш бы список да разрабам в уши! Точнее, перед глазами иметь всегда, и — думать над ним!

P.S. Кстати, по пункту 3 добавлю — иные особо одаренные производители устройств настраивают тач-сенсор так, что попытка проскролить (просвайпать) экран вправо-влево нередко приводит к выбору элемента, поверх которого свайпаешь. Так что дизайнеру нужно либо оставить область, где свайп гарантированно сработает как свайп, либо уже программисту обрабатывать такие косяки производителей на программном уровне.
Я не думаю, что тут есть проблема с «дотягиванием» до меню действий — ведь на последних трубках с большим экраном, держа её в правой ладони, всё-равно верхняя половина экрана остаётся недоступной.

Кроме того, навигация находится в верхней части, до которой «одной рукой» не дотянешься — кнопка Up, спиннер или табы. Поэтому вряд ли с этим есть проблема.

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

Правый верхний угол — это место, куда обычно смотрят в первую очередь, так что положить список того, что можно сделать прямо сейчас, наверное, логичен.
Кроме того, наиболее частые действия показываются иконками на action-bar, за ними в выпадающий список и ходить не надо.

Реализация «меню из нижнего левого угла» имела место с выделенной кнопкой «Меню» по факту.

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

Зачем вам новый дизайн? Просто сделайте как на айфоне!
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.