Навігаційний ящик (Google+ проти YouTube)


403

Хтось знає, як реалізувати розсувне меню, як деякі найпопулярніші додатки сьогодні?

На інші запитання щодо переповнення стека не було відповідей, як це зробити, тому я намагаюся зібрати стільки інформації, щоб допомогти іншим. Усі додатки, про які я згадую нижче, чудово справляються із реалізацією слайд-меню.

1. Google Plus (станом на 7/7/12)

Скріншот меню висувного Google+

Ви можете перейти лише з першого екрана на другий екран, натиснувши логотип G + у верхньому лівому куті. Зауважте, що весь екран переміщується зі свого положення та натискаєте на праву частину екрана (включаючи панель дій). Щоб повернутися до першого екрану, ви можете зсунути праву частину назад у фокус або знову натиснути значок G +.

2. YouTube (станом на 7/7/12)

Скріншот меню YouTube з висувним екраном

Ви можете перейти з першого екрана на другий екран, використовуючи два способи. Клацніть логотип YouTube у верхньому лівому куті, або ви можете натиснути пальцем праворуч. Це вже відрізняється від програми G +. По-друге, ви можете бачити, що панель дій залишається поставленою (на відміну від G +). Нарешті, щоб повернути оригінальний екран, він працює так само, як G +.


1
За зовнішнім виглядом не багато людей мали досвід роботи над чимось подібним. Я пропоную спробувати щось реалізувати самостійно і прийти до ТА із конкретними проблемами, які можуть виникнути.
Девід Тітаренко

7
Так, саме тому я розмістив питання SO в інших, що, на мою думку, заслуговує на трохи більше уваги. Мені просто цікаво, чи є хтось там, хто успішно це досяг, і хотів би поділитися своєю мудрістю.
EGHDK

1
@EGHDK Перегляньте цю серію статей: android.cyrilmottier.com/?p=658
Алекс Локвуд

2
Я давно відповів на це запитання, але я знову хочу наголосити на тому, що у Prixing є найкраще меню з вильотами … На сьогоднішній день. Це абсолютно красиво, ідеально гладко, і це ганьбить Facebook, Google+ та YouTube. EverNote теж непоганий ... але все ж не такий ідеальний, як Prixing. Ознайомтеся з цією серією публікацій про те, як було реалізовано меню флейту (не хто інший, як головний розробник у Prixing!).
Алекс Локвуд

2
З версією пакета підтримки Android версії 13 (травень 2013 р.) Є DrawerLayout для створення навігаційного ящика, який можна затягнути з краю вікна. І навігаційний ящик - це модель дизайну зараз. developer.android.com/tools/extras/support-library.html
Wubao Li

Відповіді:


152

Редагувати №3:

Схема навігаційного ящика офіційно описана в документації на Android!

введіть тут опис зображення Перевірте такі посилання:

  • Документи дизайну можна знайти тут .
  • Документи для розробників можна знайти тут .

Редагувати №2:

Роман Нурік (інженер з дизайну Android в Google) підтвердив, що рекомендується не рухати панель дій під час відкриття шухляди (як-от додаток YouTube). Дивіться цю публікацію в Google+ .


Редагувати №1:

Я давно відповів на це запитання, але я знову хочу наголосити на тому, що у Prixing є найкраще меню з вильотами… На сьогоднішній день . Це абсолютно красиво, ідеально гладко, і це ганьбить Facebook, Google+ та YouTube. EverNote теж непоганий ... але все ж не такий ідеальний, як Prixing. Ознайомтеся з цією серією публікацій про те, як було реалізовано меню флейту (не хто інший, як головний розробник у Prixing!).


Оригінальний відповідь:

Адам Пауелл та Річард Фулчер говорять про це о 49:47 - 52:50 у розмові вводу / виводу Google під назвою "Навігація в Android".

Підсумовуючи їх відповідь, станом на дату цього опублікування навігаційне меню з висувним офіційним офіційно не є частиною стандарту дизайну додатків Android. Як ви, напевно, виявили, наразі немає нашої підтримки для цієї функції, але говорилося про те, щоб зробити це доповненням до майбутньої версії пакета підтримки.

Що стосується програм YouTube та G +, то не дивно, що вони поводяться по-різному. Моя найкраща здогадка - це те, що програма YouTube визначає позицію панелі дій,

  1. Один з найважливіших варіантів навігації для користувачів, які використовують додаток YouTube, - це пошук, який виконується на SearchViewпанелі дій. Було б сенс зробити планку дій статичною в цьому плані, оскільки це дозволить користувачеві завжди мати можливість пошуку нових відео.

  2. Додаток G + використовує a ViewPagerдля відображення свого вмісту, тому зробити витягуюче меню специфічним для вмісту макета (тобто всього, що знаходиться під панеллю дій) не має особливого сенсу. Проведення Swiping повинно забезпечувати засіб навігації між сторінками, а не засіб глобальної навігації. Це може бути причиною того, що вони вирішили зробити це інакше в додатку G +, ніж у додатку YouTube.

    В іншій примітці перегляньте додаток Google Play щодо іншої версії "витягуючого меню" (коли ви перебуваєте на самій лівій сторінці, проведіть пальцем ліворуч і вийдете, з'явиться меню "півсторінки").

Ви маєте рацію, що це не дуже послідовна поведінка, але, схоже, не існує 100% консенсусу в команді Android щодо того, як цю поведінку ще потрібно реалізувати. Я не був би здивований, якщо в майбутньому додатки будуть оновлені, щоб навігація в обох додатках була однаковою (вони здавалися дуже зацікавленими в тому, щоб навігація стала послідовною у всіх програмах Google, що розроблені Google).


73
У Prixing, Evernote та Spotify усі мають великі команди, які пишуть свої додатки. Я є генеральним директором Prixing, і я хотів би уточнити, що у нас є лише один справжній розробник Android (але дуже талановитий, Cyril Mottier)
EricLarch

З версією пакета підтримки Android версії 13 (травень 2013 р.) Є DrawerLayout для створення навігаційного ящика, який можна затягнути з краю вікна. І навігаційний ящик - це модель дизайну зараз. developer.android.com/tools/extras/support-library.html
Вубао Лі

хоча NavigationDrawer присутній у V4, йому потрібен ActionBar, який ще не надається у V4, тому він не може використовувати його в додатках, що мають рівень API нижче 11.
Наянеш Гупте,

1
@NayAneshGupte ви завжди можете використовувати ActionBarSherlock для використання ActionBar нижче рівня 11 API
tasomaniac

Здається, немає способу ввести штучну затримку, якщо ви хочете, щоб тісна анімація була рівною?
theblang

15

Нещодавно я відправив свій проект на Github під назвою "RibbonMenu" і відредагував його під мої потреби:

https://github.com/jaredsburrows/RibbonMenu

Яка мета

  • Простота доступу: дозволити легкий доступ до меню, яке слайди вводити та виходити
  • Простота реалізації: оновіть той же екран, використовуючи мінімальну кількість коду
  • Незалежність: не потрібні бібліотеки підтримки, такі як ActionBarSherlock
  • Настроювання: легко змінювати кольори та меню

Що нового

  • Змінено розсувну анімацію, щоб вона відповідала додаткам Facebook та Google+
  • Додано стандартний ActionBar (ви можете використовувати ActionBarSherlock)
  • Використовується menuitem для відкриття меню
  • Додана можливість оновлення ListView на основній діяльності
  • До меню додано 2 списку перегляду, подібні до додатків Facebook та Google+
  • Додано також AutoCompleteTextView та кнопку, щоб показати приклади реалізації
  • Доданий метод, який дозволяє користувачам натискати кнопку "назад", щоб приховати меню, коли воно відкрите
  • Дозволяє користувачам одночасно взаємодіяти з фоном (основним ListView) та меню на відміну від додатків Facebook та Google+!

ActionBar з виходу з меню

ActionBar з виходу з меню

ActionBar з вибраним меню та пошуку

ActionBar з вибраним меню та пошуку


5

Існує чудова реалізація цього, NavigationDrawerщо слідує Правилам дизайну матеріалів Google Google (і сумісному до API 10) - бібліотеці MaterialDrawer (посилання на GitHub) . На час написання, травень 2017 року, це активно підтримується.

Він доступний у ревізі Maven Central . Налаштування залежності від Gradle:

compile 'com.mikepenz:materialdrawer:5.9.1'

Налаштування залежності Maven:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>

введіть тут опис зображення введіть тут опис зображення


@lmiguelvargasf, як ви уявляєте, як проект GitHub відповідає на відповідь ?! Будь ласка, поділіться своїми ідеями.
naXa


2

Особисто мені подобається navigationDrawerв офіційному додатку Google Drive. Це просто працює і чудово працює. Я погоджуюся, що ящик навігації не повинен переміщувати панель дій, оскільки це ключовий момент для відкриття та закриття ящика навігації.

Якщо ви все ще намагаєтеся домогтися такої поведінки, я нещодавно створив проект «Називається», SherlockNavigationDrawerі, як ви можете очікувати, це реалізація навігаційного ящика ActionBarSherlockта працює для попередніх пристроїв стільникового соту. Перевір це:

SherlockNavigationDrawer github

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.