global nav открыть меню
Создание собственной быстрой команды на iPhone или iPad
Создать собственную быструю команду очень просто: для этого используйте программу «Быстрые команды» для iPhone или iPad.
Шаг 1. Создайте новую быструю команду в своей коллекции команд.
Шаг 2. Добавьте действия в редакторе быстрой команды.
Шаг 3. Запустите созданную быструю команду, чтобы протестировать ее.
Создание быстрой команды
На вкладке «Мои команды» в приложении «Быстрые команды» на iPhone или iPad коснитесь в правом верхнем углу.
В редакторе быстрой команды отобразится пустая команда без названия.
Коснитесь «Название команды», введите название, затем коснитесь «Готово».
Если функция Siri включена на устройстве, под названием отображается команда, которую можно вызвать, произнеся фразу «Привет, Siri».
Коснитесь «Добавить действие».
Отобразится список с категориями действий.
Коснитесь действия в списке, чтобы добавить его в быструю команду.
Либо коснитесь действия в списке и, удерживая его, перетяните на нужное место в редакторе быстрой команды.
Чтобы добавить другое действие, смахните вверх по списку действий внизу экрана, затем выберите действие.
Совет. При добавлении другого действия открывается категория, из которой Вы выбрали действие в предыдущий раз. Чтобы вернуться к списку всех категорий действий, коснитесь .
Добавив все необходимые действия в последовательность, коснитесь .
Быстрая команда отобразится в списке «Мои команды» .
Подробнее о настройке внешнего вида новой быстрой команды (прямоугольник в коллекции команд) см. в разделе Изменение значков и цветов быстрых команд на iPhone или iPad.
Для проверки новой быстрой команды коснитесь на быстрой команде, чтобы открыть ее в редакторе быстрой команды, затем коснитесь .
Чтобы остановить выполнение быстрой команды, коснитесь .
Совет. Также можно создать новую быструю команду, коснувшись и удерживая значок приложения «Быстрые команды» на экране «Домой» устройства, а затем коснувшись «Создать команду».
Информацию об изменении порядка быстрых команд в своей коллекции команд см. в разделе Изменение порядка быстрых команд iPhone или iPad.
Отмена или повтор шагов при создании быстрой команды
В приложении «Быстрые команды» коснитесь или в редакторе быстрой команды, чтобы отменить или повторить шаг.
Также можно коснуться значка на действии, чтобы удалить его из редактора быстрой команды.
Руководство пользователя Быстрых команд
Что такое быстрая команда?
Быстрая команда — удобный способ решения задач, состоящих из одного или нескольких шагов и задействующих различные приложения. С помощью приложения «Быстрые команды» Вы можете создавать свои собственные быстрые команды, объединяя действия в последовательности. Например, создайте быструю команду Surf Time («Пора на серфинг»), которая получает прогноз погодных условий для серфинга, рассчитывает примерное время в пути до пляжа и воспроизводит специально составленный для серфинга плейлист.
Что такое действие?
Действие — это структурный элемент любой быстрой команды, который представляет собой отдельный шаг в более сложной задаче. Вы можете в произвольном порядке сочетать действия, создавая быстрые команды, которые задействуют приложения и содержимое на Ваших устройствах Apple, а также содержимое и сервисы, доступные в интернете. Каждая быстрая команда состоит из одного или более действий.
Что такое автоматизация?
Автоматизация — это подвид быстрой команды. Автоматизации запускаются при наступлении определенного события, а не вручную пользователем. Используя приложение «Быстрые команды», можно создать автоматизацию для себя или для дома. Создав автоматизированную быструю команду, Вы сможете настроить ее так, чтобы она запускалась в зависимости от Вашего прибытия или убытия, изменения определенной настройки Вашего iPhone, времени суток или другого фактора.
Где можно найти быстрые команды?
В Галерее представлена специальная подборка нестандартных и полезных быстрых команд. Исследуйте быстрые команды, доступные в Галерее, чтобы ознакомиться с возможностями и устройством быстрых команд. Найдя быструю команду в Галерее, одним касанием добавьте ее в свою коллекцию команд, а затем настройте ее так, как Вам удобно.
Чтобы просмотреть Руководство пользователя приложения «Быстрые команды», нажмите «Оглавление» вверху страницы.
Некоторые приложения, службы и контент, упоминающиеся в данном руководстве пользователя, доступны не во всех странах и регионах.
Сведения о службах геолокации в ОС OS X и браузере Safari
С помощью служб геолокации в программах и на веб-сайтах собирается и используется информация, основанная на текущем местоположении компьютера. Прежде чем данные о вашем местоположении станут доступны для использования в программе или на веб-сайте, вы должны дать на это свое разрешение.
Ваше приблизительное местоположение определяется с использованием информации из локальных сетей Wi-Fi. Службы геолокации собирают эту информацию таким способом, который не позволяет установить вашу личность.
Если вы разрешаете программам и веб-сайтам сторонних разработчиков использовать текущие данные о вашем местоположении, вы принимаете их условия использования информации, политику конфиденциальности и правила. Чтобы понять, каким образом данные о вашем местоположении и другая информация используются в программе или на веб-сайте, ознакомьтесь с их условиями использования, политикой конфиденциальности и правилами. Сведения, собираемые компанией Apple, обрабатываются в соответствии с политикой конфиденциальности компании Apple, с которой можно ознакомиться на странице http://www.apple.com/legal/privacy/ru/.
Дополнительную информацию о службах геолокации на устройстве iPhone, iPad или iPod touch см. в этой статье.
Службы геолокации в ОС OS X
Включение служб геолокации
Выполните описанные ниже действия, чтобы включить службы геолокации в ОС OS X Mountain Lion или более поздних версий.
Программы, в которых разрешено использовать службы геолокации, отображаются на панели «Конфиденциальность» в настройках «Защита и безопасность». Флажки показывают, включены ли службы геолокации для программы. Чтобы запретить использование служб геолокации в одной или нескольких программах, выключите службы, сняв флажок рядом с названием программы. Если выключить для программы службы геолокации, когда программа в следующий раз запросит данные о вашем местоположении, отобразится запрос на предоставление разрешения на использование этих сведений.
Индикатор служб геолокации
Если в программе включены службы геолокации, в строке меню отображается стрелка-индикатор (). Щелкните ее, чтобы узнать, какие программы используют службы геолокации. Если программа запрашивала данные о местоположении в течение последних 24 часов, в программе «Системные настройки» справа от названия программы отобразится стрелка ().
Настройки даты и времени
Службы геолокации можно использовать для автоматической настройки часового пояса в разделе «Дата и время».
Флажок «Автоматически выбирать часовой пояс в зависимости от текущей геопозиции» доступен на компьютерах Mac, поддерживающих технологию Wi-Fi. Если эта функция недоступна на компьютере Mac, выберите ближайший город вручную.
Службы геолокации в браузере Safari 6 или более поздней версии
При открытии веб-сайта с поддержкой служб геолокации в браузере Safari отобразится запрос на предоставление данных о вашем текущем местоположении сайту. Такие веб-сайты могут предоставить полезную информацию о геопозиции (например, сведения о местоположении ближайшего почтового отделения или банкомата). Чтобы ваше разрешение на передачу сведений о местоположении действовало в течение следующих 24 часов, в отобразившемся окне установите флажок «Запомнить мое решение на один день».
Можно отменить все предоставленные веб-сайтам разрешения, выбрав в меню Safari пункт «Сбросить Safari». Установите флажок «Сбросить геопозиционные предупреждения» в окне меню «Сбросить Safari». (Не устанавливайте другие флажки, если не планируете сбрасывать эти объекты.)
Чтобы выключить функции служб геолокации в браузере Safari, выполните описанные ниже действия.
Важно : Сторонние веб-сайты и продукты упомянуты исключительно в информационных целях. Упоминания о них не следует рассматривать в качестве рекламы или рекомендаций. Компания Apple не гарантирует достоверности информации и работоспособности продуктов, представленных на сторонних веб-сайтах, а также возможности их использования. Эта информация предназначена только для поддержки пользователей и не проверялась компанией Apple на точность и достоверность. Использование любых продуктов или информации, загруженных из Интернета, сопряжено с риском. Компания Apple не несет ответственности за возможные последствия такого использования. Помните, что сторонний веб-сайт независим от компании Apple, поэтому она не может контролировать его содержимое. Для того чтобы получить дополнительную информацию, свяжитесь с поставщиком.
Создаем адаптивную навигацию на сайте
Одна из самых непростых задач в верстке адаптивного сайта — это навигация. В этой статье подробно описан один из способов реализации адаптивного меню.
Прежде всего необходимо в тег HEAD добавить meta viewport для масштабирования на любом устройстве:
Затем добавляем пункты меню в виде обычного списка:
В меню 6 основных пунктов, а также дополнительный, для того, чтобы раскрывать навигацию на маленьких экранах.
Пункты меню должны следовать друг за другом, используем float:
Каждый пункт меню шириной 100 пикселей:
Дополнительный пункт на больших экранах должен быть скрыт:
Сейчас меню корректно отображается только на большом экране:
Media Queries
CSS3 media queries определяют, какие стили будут использоваться в каждой конкретной ситуации (например при разных разрешениях экрана).
В нашем меню при разрешении менее 600 пикселей в ширину пункты навигации должны отображаться в два столбца:
При разрешении экрана менее 480 пикселей, должна появляться дополнительная кнопка меню, по нажатию которой раскрывается вся навигация:
При разрешении менее 320 пикселей меню должно отображаться в один столбец:
Отображение навигации
При помощи slideToggle() отображаем все меню на больших экранах и скрываем на маленьких:
Готово! Получилась навигация, которой удобно пользоваться на устройствах с любым разрешением экрана.
Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство
Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами 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» добавим необходимые зависимости:
Мы использовали библиотеки версии 1.0.0, но в будущем ситуация может измениться. Проверить, какие версии библиотек являются актуальными, можно здесь.
1.3. Страницы: создание фрагментов
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» найдём строку
и заменим «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-приложении, многие детали реализации были умышленно оставлены за кадром.
Мой график работы обычно не позволяет поддерживать дискуссии, но Ваши комментарии в любом случае будут полезны для посетителей сайта и потому всегда приветствуются.