Кто-нибудь знает, как реализовать скользящее меню, как некоторые из лучших приложений сегодня?
У других вопросов переполнения стека не было ответов о том, как это сделать, поэтому я пытаюсь собрать как можно больше информации, чтобы помочь другим. Все приложения, о которых я упоминаю ниже, отлично справляются с реализацией слайд-меню.
1. Google Plus (по состоянию на 7/7/12)
Вы можете перейти только с первого экрана на второй, нажав логотип G + в верхнем левом углу. Обратите внимание, что весь экран перемещается из своего положения и подталкивается к правой стороне экрана (включая панель действий). Чтобы вернуться к первому экрану, вы можете либо снова сфокусировать правую сторону, либо снова щелкнуть значок G +.
2. YouTube (по состоянию на 7/7/12)
Вы можете перейти с первого экрана на второй, используя два метода. Либо нажмите на логотип YouTube в верхнем левом углу, либо вы можете использовать жест смахивания, чтобы переместить его вправо. Это уже отличается от приложения G +. Во-вторых, вы можете видеть, что панель действий остается на месте (в отличие от G +). Наконец, чтобы вернуть оригинальный экран, он работает так же, как G +.
Ответы:
Редактировать № 3:
Шаблон Navigation Drawer официально описан в документации Android!
Проверьте следующие ссылки:
Изменить № 2:
Роман Нурик (инженер-разработчик Android в Google) подтвердил, что рекомендуется не перемещать панель действий при открытии ящика (как в приложении YouTube). Смотрите этот пост в Google+ .
Редактировать № 1:
Я ответил на этот вопрос некоторое время назад, но я вернулся, чтобы еще раз подчеркнуть, что у Prixing есть лучшее всплывающее меню там ... безусловно . Это абсолютно красиво, идеально гладко, и это позорит Facebook, Google+ и YouTube. EverNote тоже довольно хорош ... но все же не так совершенен, как Prixing. Ознакомьтесь с этой серией постов о том, как было реализовано всплывающее меню (от самого главного разработчика в Prixing!).
Оригинальный ответ:
Об этом Адам Пауэлл и Ричард Фулчер говорят в 49:47 - 52:50 в лекции Google I / O под названием «Навигация в Android».
Подводя итог их ответу, по состоянию на дату этой публикации, выдвигающееся меню навигации официально не является частью стандарта разработки приложений Android. Как вы, вероятно, обнаружили, в настоящее время нет встроенной поддержки этой функции, но говорилось о том, чтобы сделать ее дополнением к предстоящей редакции пакета поддержки.
Что касается приложений YouTube и G +, кажется странным, что они ведут себя по-разному. Я думаю, что причина, по которой приложение YouTube фиксирует положение панели действий, заключается в том, что
Одним из наиболее важных вариантов навигации для пользователей, использующих приложение YouTube, является поиск, который выполняется
SearchView
на панели действий. В этом отношении имеет смысл сделать статическую панель действий, поскольку она позволит пользователю всегда иметь возможность поиска новых видео.Приложение G + использует a
ViewPager
для отображения своего содержимого, поэтому создание выпадающего меню, специфичного для содержимого макета (т. Е. Всего, что находится под панелью действий), не имеет большого смысла. Считывание должно обеспечить средства навигации между страницами, а не средство глобальной навигации. Возможно, поэтому они решили сделать это в приложении G + иначе, чем в приложении YouTube.С другой стороны, проверьте приложение Google Play на наличие другой версии «выпадающего меню» (когда вы находитесь на самой левой странице, проведите пальцем влево и вытащите, появится меню «полстраницы»).
Вы правы в том, что это не очень последовательное поведение, но, похоже, в команде Android нет 100% консенсуса относительно того, как это поведение должно быть реализовано. Я не удивлюсь, если в будущем приложения будут обновлены так, чтобы навигация в обоих приложениях была идентична (они, казалось, очень стремились сделать навигацию согласованной во всех приложениях, созданных Google в разговоре).
источник
Совсем недавно я разработал текущий проект Github под названием «RibbonMenu» и отредактировал его под свои нужды:
https://github.com/jaredsburrows/RibbonMenu
Какова цель
Что нового
ActionBar с меню вне
Панель действий с выключенным меню и поиском
источник
Существует отличная реализация,
NavigationDrawer
которая следует Руководству по проектированию материалов Google (и совместимо с API 10) - Библиотека MaterialDrawer (ссылка на GitHub) . На момент написания статьи, май 2017 года, он активно поддерживается.Он доступен в репозитории Maven Central . Настройка зависимости Gradle:
Настройка зависимости Maven:
источник
Я знаю, что это старый вопрос, но самый актуальный ответ - использовать библиотеку поддержки Android , которая облегчит вашу жизнь.
источник
Лично мне нравится
navigationDrawer
в официальном приложении Google Drive. Это просто работает и прекрасно работает. Я согласен, что панель навигации не должна перемещать панель действий, потому что это ключевая точка, чтобы открывать и закрывать панель навигации.Если вы все еще пытаетесь добиться такого поведения, я недавно создал проект Called,
SherlockNavigationDrawer
и, как вы можете ожидать, это реализация Навигационного Ящика сActionBarSherlock
и работающая для устройств до Сота. Проверь это:SherlockNavigationDrawer github
источник