Содержание
- Пользуемся Яндекс.Навигатором на Андроид
- Шаг 1: Установка приложения
- Шаг 2: Настройка
- Шаг 3: Использование навигатора
- Шаг 4: Работа в оффлайн режиме
- Шаг 5: Работа с инструментами
- Вопросы и ответы
Яндекс.Навигатор является одним из самых распространённых навигаторов для OS Android в России. Приложение может похвастаться богатым функционалом, интерфейсом полностью на русском языке и отсутствием навязчивой рекламы. Также бесспорным плюсом можно назвать и то, что оно абсолютно бесплатно. Далее в статье будет рассказано, как пользоваться Яндекс.Навигатором на вашем смартфоне.
Пользуемся Яндекс.Навигатором на Андроид
Ознакомившись с материалом ниже, вы узнаете, как настраивать навигатор, прокладывать маршруты в онлайн и оффлайн-режиме и использовать его дополнительные инструменты в непредвиденных ситуациях на дороге.
Шаг 1: Установка приложения
Чтобы скачать Яндекс.Навигатор на Android смартфон, перейдите по ссылке указанной ниже, нажмите на кнопку «Установить» и дождитесь окончания загрузки приложения на смартфон.
Скачать Яндекс.Навигатор
Шаг 2: Настройка
- Для того чтобы навигатором было удобно пользоваться, его нужно настроить под себя. Поэтому после установки зайдите в Яндекс.Навигатор, нажав на иконку приложения на рабочем столе своего смартфона.
- При первом запуске на экране всплывут два запроса разрешения на доступ приложения к геолокациям и микрофону. Для корректной работы Яндекс.Навигатора рекомендуется дать свое согласие — нажмите «Разрешить» в обоих случаях.
- Далее нажмите на кнопку «Меню» в правом нижнем углу экрана и перейдите в «Настройки». Сперва будет идти колонка настроек, связанных с картой. Рассмотрим только те из них, которые реально влияют на пользование навигатором.
- Зайдите во вкладку «Вид карты» и выберите между стандартной схемой улиц и дорог или спутником. Каждый видит карты по-своему, но схематическими картами пользоваться удобнее.
- Для пользования навигатором в режиме оффлайн зайдите в пункт меню «Загрузка карт» и нажмите на строку поиска. Далее выберите предложенные карты стран, областей, краев, городов и многочисленных провинций или воспользуйтесь поиском, написав название необходимой вам местности.
- Для того чтобы изменить значок своего местоположения, перейдите во вкладку «Курсор» и выберите один из трех вариантов.
- Еще одна важная колонка настроек – это «Звук».
- Для выбора голосового помощника перейдите во вкладку «Диктор» и выберете интересующую вас озвучку. На иностранных языках будут стандартные мужской и женский голоса, а на русском доступно шесть позиций.
- Для полного удобства остальные три пункта желательно оставить включёнными. Голосовая активация поможет вам, не отрываясь от дороги, прокладывать маршрут. Достаточно произнести адрес назначения после команды «Слушай, Яндекс».
После того как вы подтвердите разрешения, открывается карта, на которой появится значок в виде стрелки, указывающей ваше местоположение.
Чтобы выбрать интересующий вас язык, на котором навигатор будет указывать вам маршрут и другую информацию о дороге, перейдите в соответствующую вкладку и нажмите на один из предложенных языков. Затем, для возврата в настройки, нажмите на стрелочку в левом верхнем углу.
На этом основные настройки для удобства пользования навигатором заканчиваются. Внизу списка параметров будет еще несколько пунктов, но они не столь значительны, чтобы заострять на них внимание.
Шаг 3: Использование навигатора
- Для того чтобы построить маршрут, нажмите на «Поиск».
- В новом окне выберите место из предложенных категорий, истории ваших поездок или введите вручную требуемый адрес.
- После того как навигатор найдет необходимое вам место или адрес, над ним появится информационная табличка с расстояниями двух наиболее ближайших маршрутов до места назначения. Выберите подходящий и нажмите «Поехали».
Либо произнесите: «Слушай, Яндекс», и после появившегося внизу экрана небольшого окна с текстом «Говорите», произнесите адрес или место, куда вам нужно проехать.
Если у вас нет загруженных карт для работы в оффлайн режиме, то ни один из способов поиска вам не поможет без мобильного интернета или WiFi.
Далее экран перейдет в режим поездки, где сверху будут указаны расстояние до первого поворота, скорость движения и оставшееся время.
После этого вам остается ехать по указаниям диктора. Но не стоит забывать, что это техника, которая может иногда ошибаться. Внимательно следите за дорогой и дорожными знаками.
Яндекс.Навигатор также может показывать загруженность дорог, чтобы не попасть в пробку. Для активации данной функции в правом верхнем углу нажмите на значок светофора. После этого дороги города станут разноцветными, что указывает на их загруженность в данный момент. Дороги бывают зеленого, желтого, оранжевого и красного цветов – градация идет от свободной дороги до долгосрочной пробки.
Для удобства пользователя разработчики Яндекс.Навигатора добавили функцию указания комментариев к дорожным событиям, которые доступны любому водителю или неравнодушному к происшествиям пешеходу. Если вы захотите добавить событие нажмите на значок треугольника с плюсом внутри.
Вверху экрана тут же откроется список указателей, которые вы можете установить на карте с любым комментарием. Будь то авария, ремонт дороги, камеры или любое другое происшествие, выберите нужный знак, напишете комментарий, наведите указателем на нужное место и жмите «Установить».
Затем на карте в этом месте будет виден маленький указатель. Нажмите на него и вы увидите информацию от пользователя.
Недавно в Яндекс.Навигаторе появилась функция отображения парковок. Для ее активации нажмите в левом нижнем углу на кнопку в виде английской буквы «P».
Теперь на карте вы увидите все парковочные места, доступные в том населенном пункте, где вы находитесь. Они будут выделены синими полосами.
На этом шаге основная работа с навигатором заканчиваются. Далее будут рассмотрены дополнительные возможности.
Шаг 4: Работа в оффлайн режиме
Если у вас нет интернета под рукой, но есть работающий смартфон с GPS приемником, то Яндекс.Навигатор и в этом случае поможет добраться в нужную точку. Но только при условии, что на смартфон уже загружены карты вашей местности либо сохранен заранее построенный вами маршрут.
При имеющихся картах алгоритм построения маршрута будет аналогичным онлайн-режиму. А для того, чтобы сохранить требуемый маршрут заранее, нажмите на кнопку «Мои места».
Следующим действием укажите ваш домашний и рабочий адрес, а в строку «Избранное» добавьте те адреса, куда часто направляетесь.
Теперь для того чтобы использовать приложение в оффлайн режиме с предварительно загруженными картами, произнесите голосовую команду «Слушай, Яндекс» и укажите или выберите вручную то место, куда необходимо проложить маршрут.
Шаг 5: Работа с инструментами
В меню есть группа вкладок, называемых «Инструменты», и несколько из них могут быть вам полезны. Работают они только при активном интернет соединении на вашем Андроид смартфоне.
На этом наша инструкция по работе с приложением заканчивается. Есть много интересных и давно существующих решений подобного рода, но Яндекс.Навигатор смело держится среди них на хорошем счету у многих пользователей. Поэтому смело устанавливайте его на свое устройство и пользуйтесь в удовольствие.
Существует несколько способов навигации по телефону. Узнайте, как их можно выбирать, и найдите тот, с помощью которого вам будет удобно переключаться между приложениями и другими объектами.
Важно!
- Некоторые из этих действий можно выполнить только на устройствах с ОС Android 10 и более поздних версий. Подробнее о том, как узнать версию Android…
- Чтобы выполнить некоторые действия, описанные в этой статье, потребуется нажать на экран.
- Функция показа субтитров во время звонков доступна только на телефонах Pixel.
Как выбрать способ навигации
Как перемещаться между экранами, веб-страницами и приложениями
Как вернуться на один экран назад
Вы можете вернуться на предыдущий экран, причем это действие можно повторить несколько раз. Обратите внимание, что вернуться дальше главного экрана нельзя.
Как перейти на главный экран
Как найти все открытые приложения
- Навигация с помощью жестов. Проведите вверх от нижнего края экрана, удерживайте палец, а затем уберите его.
- Навигация с помощью двух кнопок. Проведите вверх от нижнего края экрана до его середины.
- Навигация с помощью трех кнопок. Нажмите кнопку «Обзор»
.
Вы можете:
- Закрыть приложение. Проведите вверх по его изображению.
- Открыть приложение. Нажмите на его изображение.
Как переключаться между приложениями
Как перемещать объекты
Как выбрать или переместить объект
Выбор нажатием
Чтобы выбрать или использовать элемент интерфейса, нажмите на него.
Ввод нажатием
Чтобы ввести текст, нажмите на нужную часть экрана – появится клавиатура.
Долгое нажатие
Нажмите на нужный объект и не отпускайте палец, пока не получите отклик.
Перетаскивание
Нажмите на нужный объект и удерживайте его. Проведите по экрану до нужной точки и только тогда отпустите палец. Например, так можно перемещать приложения на главном экране.
Пролистывание или прокрутка
Быстро проведите пальцем по экрану, не останавливаясь после прикосновения. Например, пролистывая вправо или влево, можно переходить на другие главные экраны.
Как изменить размер и положение объекта
Масштабирование двойным нажатием
Чтобы увеличить масштаб веб-страницы или карты, быстро коснитесь ее дважды.
Масштабирование пальцами
В некоторых приложениях изменять масштаб можно с помощью пальцев. Коснитесь экрана двумя или несколькими пальцами и сведите их вместе, чтобы уменьшить масштаб, либо разведите, чтобы увеличить его.
Поворот
Как правило, изображение на экране поворачивается вместе с телефоном. Чтобы включить или отключить эту функцию, проведите по экрану сверху вниз двумя пальцами и нажмите на значок «Автоповорот» .
Что делать, если вы используете более раннюю версию Android
Как выбрать способ навигации (Android 9)
- Откройте настройки телефона.
- Выберите Система
Жесты
Коснуться кнопки главного экрана и провести вверх.
- Включите или отключите параметр Коснуться кнопки главного экрана и провести вверх.
- Когда параметр включен, активируется навигация с помощью двух кнопок.
- Когда отключен – навигация с помощью трех кнопок.
Подробнее о том, как использовать навигацию с помощью двух или трех кнопок…
Ресурсы по теме
- Как настроить главный экран устройства Android
- Как искать, открывать и закрывать приложения на устройстве Android
- Как добавить приложения, ярлыки и виджеты на главный экран
Эта информация оказалась полезной?
Как можно улучшить эту статью?
Вам бывает сложно проложить оптимальный автомобильный маршрут даже в своем городе? Приложение Яндекс.Навигатор сделает это за вас. Оно определит кратчайший путь за секунды и автоматически скорректирует маршрут при изменениях дорожных условий.
Содержание
- Обзор функций и интерфейса приложения
- Функции
- Интерфейс
- Инструкция по работе с навигатором
- Первый запуск
- Выбор карты
- Построение маршрута
- Движение по маршруту
- Использование дополнительных функций
Обзор функций и интерфейса приложения
Яндекс.Навигатор – бесплатное приложение, предназначенное для построения автомобильных маршрутов. В памяти программы сохранены карты всех стран мира, но упор сделан на СНГ.
Данные о текущих дорожных условиях появляются в приложении благодаря совместным усилиям искусственного интеллекта, сотрудников ООО «Яндекс» и пользователей. Любой человек может добавить информацию о ДТП, ремонтных работах, камерах контроля скорости и засадах ГИБДД.
Функции
Основные функции приложения:
- Построение оптимальных маршрутов. Если навигатор обнаружит несколько равнозначных вариантов, то укажет все, а итоговый выберете вы.
- Сопровождение водителя в пути. Благодаря голосовым оповещениям вы не пропустите нужный поворот и успеете снизить скорость перед камерой ГИБДД. Время оповещения подбирается так, чтобы вы спокойно завершили маневр. Озвучиванием приложения занимались Дмитрий Нагиев, Вера Брежнева, Федор Бондарчук и другие известные личности.
- Оценка дорожной обстановки. Даже если вы хорошо знаете маршрут, изучите информацию о пробках на нужных улицах перед выездом.
Чтобы облегчить поездку, Яндекс.Навигатор предлагает несколько дополнительных функций:
- Голосовое управление. Достаточно произнести: «Слушай, Алиса», – или нажать на кнопку в виде микрофона, чтобы Яндекс.Навигатор воспринимал голосовые команды.
- Автокорректировка маршрута. Если дорожная обстановка изменится по ходу езды, программа среагирует и найдет другой путь.
- В программу добавлена информация о парковках в крупных городах стран СНГ и ближнего зарубежья.
Интерфейс
Первое, что вы увидите при запуске Яндекс.Навигатора – карту местности с панелью инструментов внизу. На ней обозначено ваше текущее положение, загруженность улиц и информация о дорожных событиях.
Если не можете найти себя на карте, нажмите на кнопку внизу экрана – и система переведет вас в нужную область.
Яндекс.Навигатор отмечает загруженность улиц тремя цветами:
- зелёным – дорога свободна;
- желтым – движение частично затруднено;
- красным – пробки на маршруте.
Приложение также оценивает среднюю плотность движения на дорожном участке по шкале от 0 до 10, где 0 – свободно, а 10 – многочасовые пробки. Значение отображается в верхнем правом углу экрана на кнопке включения/выключения анализа загруженности дорог.
Дорожные происшествия отмечены значками в красной оправе. Например, на скриншоте ниже под №1 указана камера ГИБДД, №2 – ДТП, №3 – ремонтные работы, №4 – движение перекрыто. Если нажать на значок, система укажет дополнительную информацию, например, данные о количестве полос, перекрытых из-за ДТП.
Если вы запустили движение по маршруту, дополнительно в верхней части экрана появится информация о ближайшем маневре (1), значения текущей (2) и максимально допустимой скорости (3).
Инструкция по работе с навигатором
Чтобы установить приложение, зайдите на его страницу в Play Market.
Первый запуск
После включения приложения:
- Прочитайте Лицензионное соглашение программы и нажмите «Далее».
- Выберите «Далее» еще 2 раза и разрешите Яндекс.Навигатору доступ к данным о местоположении устройства, чтобы не вводить свой адрес каждый раз вручную.
- Отметьте пункт «Далее» в том же месте и разрешите приложению запись аудио, чтобы пользоваться голосовым управлением навигатора.
Выбор карты
Чтобы изменять внешний вид и функции Яндекс.Навигатора, зайдите в раздел «Настройки». Для этого:
- Нажмите на кнопку меню в нижнем правом углу экрана.
- Откройте раздел «Настройки».
- Нажмите «Вид карты».
- Для наиболее удобного ориентирования выберите один из 2 видов карт – спутник или схема.
Чтобы пользоваться картой без интернета:
- Откройте меню.
- Нажмите «Загрузка карт».
- Выберите необходимую карту из перечня или воспользуйтесь поиском.
- Для скачивания нажмите на кнопку в виде вертикальной стрелки в круге.
Карта скачается, даже если вы перейдете на другую страницу навигатора. Её вес – 110-170 МБ для средних по площади областей.
Построение маршрута
Для построения маршрута выберите начальную, конечную и промежуточные точки. При включенной функции геолокации на смартфоне ваше текущее местоположение автоматически устанавливается как пункт отправления.
Внести любую точку в маршрут можно 3 способами: с помощью поиска, карты или голосового управления.
С помощью поиска:
- Нажмите на кнопку в виде лупы.
- Введите адрес в текстовое поле.
- Выберите подходящий вариант в появившемся списке.
- Если выбираете пункт назначения, нажмите «Поехали».
- Если хотите указать промежуточный пункт, выберите «Заехать».
- Чтобы отметить пункт отправления, коснитесь синего значка и выберите «Отсюда».
С помощью карты:
- Найдите необходимое место на карте. Для изменения масштаба нажимайте на кнопки «+» и «-».
- Чтобы поставить точку в нужном месте, задержите на нем палец в течение 1 секунды.
- Выберите тип маршрутного пункта из списка:
- сюда – конечный пункт назначения;
- через – промежуточный пункт;
- отсюда – пункт отправления.
С помощью голосового управления:
- Нажмите на кнопку в виде микрофона или произнесите: «Слушай, Алиса».
- Произнесите команду. Например, «Маршрут до Ленина, 3А».
Установка промежуточных точек маршрута доступна только после определения местоположения старта и финиша.
После выбора всех точек:
- Выберите маршрут из предложенных приложением. Для этого нажимайте на вкладки со временем в пути. Они находятся в верхней части экрана. Выбранный вариант на карте обозначен красным, желтым и зеленым цветами, альтернативные пути – синим.
- Нажмите «Поехали».
Чтобы построить маршрут в обход платных дорог:
- Откройте раздел «Настройки», как мы описывали выше.
- Выберите пункт «Избегать платных дорог». При этом переключатель напротив надписи станет синим.
Даже после перезапуска приложение вспомнит незаконченный маршрут.
Движение по маршруту
Во время передвижения Яндекс.Навигатор заранее оповещает о поворотах. Информация отображается на экране и воспроизводится вслух.
В нижней части экрана система указывает расстояние до финиша (1) и примерное время в пути (2).
Использование дополнительных функций
Как найти ближайшую парковку:
- Нажмите на значок «P» в верхнем правом углу экрана.
- Теперь коснитесь кнопки, появившейся ниже предыдущей.
- Следуйте проложенному маршруту.
Как поменять голос оповещений:
- В разделе «Настройки» нажмите на кнопку «Голос».
- Выберите озвучку из списка «Загруженные».
- Если хотите скачать вариант из блока «Доступные для загрузки», нажмите на кнопку левее названия желаемой озвучки.
Как сохранять историю поездок:
- Откройте меню кнопкой в правом нижнем углу.
- Нажмите «Мои поездки».
- Выберите «Сохранять», чтобы система начала запоминать ваши маршруты.
Теперь в этом разделе будет доступна информация о построенных маршрутах.
Как добавить информацию о происшествии на дороге:
- Найдите нужное место на карте навигатора.
- Удерживайте палец на нем пару секунд.
- Нажмите «Установить».
- Выберите тип события из списка и нажмите на него. На скриншоте ниже: 1 – неопределенное событие, 2 – ДТП, 3 – дорожные работы, 4 – камера ГИБДД, 5 – внимание, 6 – проезд закрыт.
- Введите комментарий к дорожному событию в текстовое поле.
- Нажмите «Готово».
- Выберите «Установить».
Как проверить штрафы ГИБДД:
- В меню выберите пункт «Штрафы ГИБДД».
- Укажите номера СТС и водительского удостоверения.
- Нажмите «Проверить штрафы».
Яндекс.Навигатор установили более 50 миллионов раз. Это доказывает удобство и востребованность приложения. Чтобы уже сегодня начать им пользоваться, следуйте нашим инструкциям.
Смартфон может с легкостью применяться как GPS-устройство, так как постоянно получает спутниковые сигналы. С правильным приложением можно использовать эту функцию в своих интересах, сделав телефон доступным и надежным инструментом навигации. Главное, чтобы интерфейс программы был понятен, а карты были достаточно подробными для ориентирования на местности.
Особенности установки навигатора на Андроид
Установить навигатор на смартфон Андроид бесплатно можно, загрузив приложение с Google Play Market либо закачав с помощью телефона или персонального компьютера APK-файл.
С Google Play Market
Чтобы установить навигатор на телефон с ОС Андроид бесплатно с картами на русском через Play Market, необходимо:
- написать в поисковой строке слово «навигатор»;
- выбрать понравившуюся программу;
- нажать «Установить»;
- ждать окончания автоматической загрузки.
При первом включении пользователю от системы будет предъявлен запрос доступа к хранилищу и параметрам GPS. Для штатной работы настроек нужно нажать кнопку «Разрешить» («Подтвердить»).
С использованием APK файла
Пошаговая инструкция по загрузке APK-файла с помощью телефона:
- скачать понравившийся навигатор, например: Яндекс навигатор;
- Выбрать файл и нажать «Открыть».
- Нажать кнопку «Установить».
В случае с ПК:
- загрузить файл с веб-страницы;
- скинуть файл на смартфон;
- произвести установку.
Популярные навигаторы для смартфона и тонкости их выбора
Для операционной системы Android существует несколько известных навигационных программ: «Яндекс.Навигатор», 2GIS, Навител, Google Maps, Waze, OsmAnd, Maps.me. Каждая утилита обладает плюсами и минусами.
2GIS
Программу 2GIS нельзя назвать абсолютно точной с точки зрения логистики, могут происходить сбои, из-за чего нетрудно заблудиться. Основным и существенным преимуществом считается возможность просмотра карт без интернета, так как все необходимые города можно загрузить в память телефона.
Яндекс.Навигатор
Яндекс — российская компания, поэтому для машин, передвигающихся по дорогам РФ, отлично подойдет её навигационное приложение. Программа показывает несколько вариантов пути до места назначения. В зависимости от предпочтений водитель может выбрать наиболее короткую и удобную дорогу. «Яндекс.Навигатор» покажет наличие пробок, ДТП, ремонтных работ, камер.
Google Карты
Программа является базовой для телефонов Android и располагается в папке Google рабочего экрана. Визуальный интерфейс приемлем, однако непосредственно маршруты могут строиться очень неудобно, так как обновление происходит нечасто. Google Maps не показывает пробки или дорожно-транспортные происшествия.
Waze
Интерфейс Waze незамысловат, нужная функция найдется быстро. Для подробного просмотра какого-либо элемента необходимо увеличить карту, проведя двумя пальцами от центра в противоположные стороны экрана. Приложение предлагает альтернативный путь, в особенности в случае затора на дороге. Детализация оставляет желать лучшего, однако в целом маршрут понятен.
Голосовой поиск не всегда точно распознает запросы, для ввода лучше использовать клавиатуру. Офлайн-режим функционирует стабильно, но предупреждений о камерах по пути не будет, поэтому лучше включить Интернет. При покупке «Премиум» опций будет больше, хотя бесплатная версия тоже предоставляет обширный список функций.
OsmAnd
Есть платная и бесплатная версия OsmAnd, а также режимы офлайн и онлайн. Функции просты, акцент сделан на точной детализации локаций. Для загрузки доступно до 10 карт, но при покупке премиальной версии количество становится неограниченным. Есть топографические схемы РФ и других стран, но нельзя просмотреть их в 3D.
Онлайн-карту можно наложить на скачанную версию. Есть дневной и ночной режимы. Обновление происходит регулярно. Однако программа не учитывает происшествия или ремонт на дороге.
Maps.me
Приложение не требует затрат и экономично с точки зрения интернет-трафика, так как может работать автономно. Maps.me постоянно предоставляет обновления. Интерфейс сложный, но можно адаптироваться. Для пеших прогулок программа показывает угол наклона при ходьбе в гору. В Maps.me есть опция, которая позволяет отправлять другим пользователям свою геолокацию, а также выбирать среди разных вариантов маршрута.
Навител
В приложении имеются подробные карты с отмеченными ключевыми точками (АЗС, отели и т. д.). В рамках версии «Стандарт» представлены 65 регионов и 130 000 населенных пунктов РФ. За большее количество необходимо внести плату.
Navitel поддерживает OpenGL, которая ускоряет прорисовку обычной карты или 3D-изображения. Отображаются пробки на дорогах. Подключена опция самостоятельного выбора спутника для более стабильного сигнала. Navitel подходит только при движении на машине из-за отсутствия пешеходного режима.
Как включить GPS навигацию на телефоне
Подключить GPS на ОС Android можно следующим образом:
- открыть «верхнюю шторку», сделав движение пальцем сверху вниз по экрану;
- нажать в открывшемся меню кнопку «Местоположение» или «Геолокация».
Другой вариант:
- зайти в настройки телефона;
- поставить флажок местонахождения в положение «Включено».
Заключение
Без навигатора легко заблудиться и оказаться в опасной ситуации. Взяв GPS-устройство, можно всегда точно знать свое местонахождение, что поможет оставаться в безопасности и сделает поездки свободными от стресса. Для России отлично подойдет навигатор от компании Яндекс и 2GIS (который можно использовать при отсутствии сигнала Сети). Google Карты также являются приемлемым вариантом, так как, кроме всего прочего, являются стандартным и уже установленным на телефон ОС Android приложением.
Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы:
Часть 1. Подготовительные работы
— 1.1. Создание проекта
— 1.2. Зависимости (Dependencies)
— 1.3. Страницы: создание фрагментов
— 1.4. Адреса: файл ресурсов типа «Navigation»
— 1.5. Фрейм: виджет NavHostFragment
Часть 2. Элементы навигации
— 2.1. Навигация с помощью кнопок
— 2.2. Боковое меню (Drawer)
— 2.3. Панель инструментов: Toolbar вместо ActionBar
— 2.4. Нижнее меню (Bottom Navigation)
— 2.5. Всплывающее меню (Overflow Menu)
Краткие выводы и ссылка на github
Часть 1. Подготовительные работы
1.1. Создание проекта
Нам понадобятся базовые знания Котлина, IDE Android Studio версии не ниже 3.3, смартфон или эмулятор с версией API 14 или выше.
Создадим в Android Studio новый проект под названием «Navigation2019».
IDE создаст файл главной активности «MainActivity.kt» и его макет (шаблон) «activity_main.xml».
1.2. Зависимости (Dependencies)
Откроем файл «build.gradle» модуля (не проекта, а именно модуля) и в блок «dependencies» добавим необходимые зависимости:
def nav_version = «1.0.0»
implementation «android.arch.navigation:navigation-fragment-ktx:$nav_version»
implementation «android.arch.navigation:navigation-ui-ktx:$nav_version»
Мы использовали библиотеки версии 1.0.0, но в будущем ситуация может измениться. Проверить, какие версии библиотек являются актуальными, можно здесь.
1.3. Страницы: создание фрагментов
Фрагменты — это «страницы» нашего будущего приложения. Кликнув правой кнопкой на каталоге с файлами классов, командой «New -> Fragment -> Fragment(Blank)» создадим «Fragment1».
IDE создаст kt-файл с классом фрагмента и xml-файл с макетом фрагмента. Таким же образом сгенерируем ещё три фрагмента («Fragment2», «Fragment3», «Fragment4»). Мы будем использовать их для создания четырёх разных типов навигации по приложению.
1.4. Адреса: файл ресурсов типа «Navigation»
Кликнув правой кнопкой мыши по папке «res», создадим файл ресурсов типа «Navigation» с названием «routes.xml» («маршруты»).
Откроем созданный файл и с помощью кнопки «New Destination» добавим в навигационную схему наши фрагменты.
«Хватаясь» мышкой за точку в середине правой стороны фрагмента, соединим фрагменты друг с другом так, как они должны быть связаны в приложении.
В соответствии с их названиями, наши фрагменты получат идентификаторы (id) «fragment1», «fragment2», «fragment3», «fragment4». Это «адреса», которые будут использоваться при указании пунктов назначения («destinations») в инструкциях навигационному контроллеру.
Кроме «id», каждый тег «fragment» содержит ещё три параметра: «name», «label» и «layout». Параметры «name» и «layout» нас сейчас не интересуют. Единственное, что стоит отредактировать в файле «routes.xml» — это названия («label») фрагментов. Заменим их на «Фрагмент №1», «Фрагмент №2», «Фрагмент №3» и «Фрагмент №4».
1.5. Фрейм: виджет NavHostFragment
Откроем файл макета «res/layout/activity_main.xml» и удалим текстовый виджет «Hello World!», он нам не понадобится. В палитре (Palette) выберем раздел «Контейнеры» (Containers) и перетащим оттуда на макет активности виджет NavHostFragment (указав наш файл «routes» в качестве источника информации для него). Он выполнит роль фрейма, в котором будут выводиться различные фрагменты приложения.
Изменим id фрагмента на «navFragment». Код макета главной активности будет выглядеть теперь так:
На этом подготовительные работы завершены, теперь можно приступать непосредственно к созданию элементов навигации.
Часть 2. Элементы навигации
2.1. Навигация с помощью кнопок
Откроем макет первого фрагмента («fragment_fragment1.xml»). Удалим ненужный текстовый виджет, изменим тип макета с «FrameLayout» на линейный вертикальный и добавим три кнопки с идентификаторами «button2», «button3», «button4» и соответствующими названиями «Фрагмент 2», «Фрагмент 3», «Фрагмент 4».
В методе «onCreateView» фрагмента получим ссылку на навигационный контроллер (объект «NavController») и запрограммируем поведение при нажатии на кнопки: командой «setOnClickListener» для каждой кнопки создадим слушателя кнопки, который при клике по кнопке будет передавать навигационному контроллеру адрес (id) точки назначения вместе с командой переместиться (navigate) на указанный адрес.
Проверим, как работают наши кнопки.
Одна кнопка — одна строчка кода — и клик по кнопке перемещает нас к указанному фрагменту. Просто, не так ли?
Но без меню не очень удобно, приходится использовать кнопку «Назад» для возвращения на стартовый экран.
2.2. Боковое меню (drawer)
2.2.1. Ресурсный файл меню
В каталоге «res/menu» создадим ресурсный файл меню «drawer_menu.xml». Добавим в него пункты меню, каждый из которых представляет собой тег «item» с параметрами «id» (должен соответствовать таковому в навигационном графе «routes.xml», «title» (заголовок, он может быть другим), «icon» (мы используем одну и ту же картинку для всех пунктов, но, конечно же, они могут быть разными) и др. Наше меню будет выглядеть так:
2.2.2. Шаблон DrawerLayout и виджет NavigationView в макете активности
Откроем файл макета активности «activity_main.xml».
После первого тега (xml version…) добавим начало тега «DrawerLayout».
В конец файла добавим виджет «NavigationView» и окончание тега «DrawerLayout».
2.2.3. Подключение бокового меню в классе активности
Откроем файл «MainActivity.kt» и в методе «onCreate» получим ссылку на «navController» (в активности это выглядит чуть сложнее, чем было во фрагментах).
Затем включим боковое меню:
Код класса теперь выглядит так:
Теперь меню появляется в ответ на свайп от левого края экрана:
Хорошо было бы добавить и кнопку слева-вверху для вызова бокового меню, верно?
2.3. Кнопка и название фрагмента на панели инструментов
Существующий по умолчанию ActionBar, как рекомендует официальное руководство, заменим на Toolbar.
Чтобы отключить существующий ActionBar, в файле «res/values/styles.xml» найдём строку
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
и заменим «DarkActionBar» на «NoActionBar».
Отлично, ActionBar мы отключили.
Теперь добавим Toolbar. Откроем файл «activity_main.xml», в палитре (Palette) выберем раздел «Контейнеры» (Containers) и перетащим оттуда на макет активности виджет «Toolbar». Панель инструментов добавлена, но она пока пуста.
Переходим в файл активности «MainActivity.kt». Чтобы на Toolbar вывести кнопку и название текущего фрагмента, в метод «onCreate()» добавим следующие строки:
Toolbar теперь выводит название фрагмента и кнопку «Вверх» (Up) для вложенных фрагментов.
Кнопка «вверх» в android’е почему-то обозначается стрелкой «влево»:
Чтобы на стартовом экране приложения выводилась кнопка-гамбургер, нам необходимо в конфигурацию панели инструментов добавить параметр «drawerLayout», который содержит id виджета DrawerLayout из файла «activity_main.xml».
Клик по этой кнопке выводит боковое меню.
2.4. Нижнее меню (Bottom Navigation)
Иногда бывает необходимо акцентировать внимание пользователя на определённых действиях, и эффективно сделать это помогает нижнее меню. Добавим его в третий фрагмент.
Сначала создадим ресурсный файл меню «bottom_nav_menu.xml» с парой ссылок. Затем откроем макет фрагмента №3 (файл «fragment_fragment3.xml») и перетащим на него виджет «BottomNavigationView», попутно согласившись с предложением IDE добавить в dependencies библиотеку «com.android.support:design».
Если бы мы создавали нижнее меню не для одного фрагмента, а сразу для всех, то в метод «onCreate» класса активности (файл «MainActivity.kt») нужно было бы включить следующий код:
Конечно, и виджет «BottomNavigationView» в таком случае надо было бы поместить в макет активности, а не фрагмента.
Но поскольку данное меню нам требуется только во фрагменте №3, то и редактировать мы будем класс фрагмента (файл «Fragment3.kt»), а код будет выглядеть чуть сложнее:
В итоге мы получим нижнее меню, которое будет выводиться только в 3-м фрагменте.
То же самое, но с другими ссылками, сделаем и в 4-м фрагменте.
2.5. Всплывающее меню (Overflow Menu)
Ещё один вид меню — всплывающее меню, которое выводится при клике по кнопке (трём вертикально расположенным точкам) в правом верхнем углу экрана.
Создадим ресурсный файл меню «top_right_menu.xml» с необходимыми ссылками.
В файле «MainActivity» в метод «onCreate» перед «toolBar.setupWithNavController…» добавим строку «setSupportActionBar(toolBar)».
И далее в этом же классе переопределим два метода:
Нажатие на верхнюю правую кнопку теперь отображает всплывающее меню:
Краткие выводы и ссылка на github
Очевидно, что Navigation Architecture Component существенно облегчает труд разработчика. Сложные в прошлом задачи теперь решаются несколькими строчками кода.
Поскольку главной целью данной публикации было осветить базовые алгоритмы создания навигации в android-приложении, многие детали реализации были умышленно оставлены за кадром.
Мой график работы обычно не позволяет поддерживать дискуссии, но Ваши комментарии в любом случае будут полезны для посетителей сайта и потому всегда приветствуются.
Файлы проекта находятся здесь.