@powercot

Что нужно сделать, чтобы Navigation Drawer (боковое меню) показывалось на всех activity моего приложения?

Хотел добавить в своё приложение боковое слайд-меню Navigation Drawer. Я начинающий разработчик, поэтому искал гайды в интернете и нашёл только этот: habrahabr.ru/post/250765 . Обычно для таких боковых меню используются фрагменты, соответственно создаётся класс, который наследуется от Fragment. Но в статье использовалась усовершенствованная библиотека, с кучей хороших функций, и класс наследовался от ActionBarActivity. А раз всё по другому, то я не смог додуматься, как же теперь эту менюшку показывать в других activity, не переписывая весь код с функционалом?
Может быть, автор статьи увидит вопрос, если я сделаю так: tralchonok
  • Вопрос задан
  • 7934 просмотра
Решения вопроса 1
@tralchonok
Здравствуйте. Правильнее, конечно, использовать фрагменты.
Чтобы показывать менюшку в других Acitvity - в их onCreate инициализируйте менюку так же, как в основной Activity (как вариант, чтобы не дублировать код, отнаследовать все Activity от какой-то базовой, у которой в onCreate инициализируется меню).
Теперь о том, почему так делать плохо. При нажатии на элементы меню, я так понимаю, вы будете переключать Activity (показывать разные Activity). При этом у вас менюшка не будет плавно убираться при клике на элемент, а будет резко выскакивать Activity. При реализации же на фрагментах, у вас при нажатии на элемент меню, боковое меню плавно будет закрываться и параллельно будет отображатья фрагмент (посмотрите как это сделано в приложении Google Play, потыкайте в элементы левой менюшки и поймете).
Переделка на фрагменты это не страшно, я могу скинуть вам простой проектик (в Android Studio), в котором это реализовано - сделаете по аналогии. Кстати, реализация с фрагментами прекрасно работает с библиотекой, которую я описал в статье на хабре.

UPD: выложил пример тут: https://github.com/tral/MaterialDrawerFragmentSample
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Eserchik
Android 2.0 - Activity
Android 4.0 - Фрагменты
В настоящее время использование новых Activity на каждое действие создает образ морально устаревшей программы.
Щас должно быть так: одно приложение - одно activity, а внутри фрагменты и диалоги
Я предлагаю вам попытаться описать функционал вашего приложения с использованием фрагментов и диалогов.
Ответ написан
Комментировать
@onepavel
Консультация и разработка мобильных приложений
Если вы прям во всех ваших активити хотите сделать меню, сделайте базовый класс с реализацией меню и наследуйте от него все ваши активити.
Ответ написан
@belozerow
У вас в проекте разные активити с разными меню? Звучит не как самая лучшая идея с точки зрения юзабилити.

Или же вы хотите сделать одно меню, но при выборе пунктов открывать разные активити, а не фрагменты?
В таком случае лучше всё же разобраться с фрагментами, потому что потом наверняка упретесь в кучу неприятностей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы