Главное меню является одним из основных инструментов взаимодействия пользователя с приложениями. До версии Android 2.3.x и других она была "скрыта" аппаратными кнопками меню, и разработчики максимально оформили меню. Однако, начиная с Android 3.0, недостатки были исправлены, и меню стали типичным элементом линейки действий. В то же время процесс разработки меню практически не изменился. Меню Android — это не просто набор кнопок, которые можно размножить с помощью OnClickListener. В Android меню — это нечто большее, чем то, что видно глазу.
В этой статье рассказывается о том, как создавать современные меню, как настраивать их для разных размеров экрана, как чередовать кнопки прямого выбора в меню и как динамически проверять видимость кнопок меню, скрывая приложение. Особенности. Не работает на некоторых смартфонах. В статье мы постараемся дать наиболее подробное описание их или их опций меню и предоставить ссылки на официальную документацию по данному вопросу.
Таким образом, меню для одного и того же приложения могут иметь разный внешний вид.
Первая кнопка меню.
Меню Android либо описаны в файлах ресурсов, либо состоят из программного кода. Первый вариант рекомендуется по ряду причин. Они быстро растут, прозрачны и просты в уходе. Ресурсы меню можно найти в ветке меню в списке ресурсов приложения RES. Создайте меню каталога и новый XML-файл Android.
Выберите тип меню поло и введите имя файла. Рекомендуется связать название файла меню с названием мероприятия, так как меню, скорее всего, будет выглядеть по-разному для каждого мероприятия.
В появившемся процессоре введите код для первой кнопки меню.
- Android: вторая половина кода ID определяет, что отличает одни кнопки от других.
- Android: определяет порядок кнопок OrderIncategory. Позволяет задавать порядок с шагом 10 или 100 и добавлять новые элементы в любую будущую позицию без необходимости изменять порядок остальных.
- Android: ShowAsaction — наиболее интересный параметр, поскольку он управляет поведением элементов меню в различных ситуациях. Он может принимать различные значения:.
- ifrom — отображает элемент в строке действия. Только при наличии достаточного пространства. Если места недостаточно, запись автоматически переносится в подменю (отображается то, в котором три точки расположены друг над другом). Это лучший способ настроить меню в соответствии с размером экрана устройства. На больших планшетах строка действий будет заполнена кнопками, в то время как на маленьких телефонах будут показаны самые важные кнопки, но доступ к остальным также возможен, но только из вторичного меню. Обратите внимание, что дополнительные меню появляются в панели действий только на смартфонах без аппаратных кнопок меню.
- withtext-Android: текст, заданный в заголовке, отображается рядом с иконкой кнопки. Этот параметр определяется в сочетании с другими параметрами, а параметр|
- Никогда — даже если для нее есть место, кнопка никогда не появится в строке действия. Доступ к таким кнопкам всегда должен осуществляться через дополнительное меню.
- Всегда — Всегда отображать кнопку в строке действий. Не следует злоупотреблять этой опцией. Это связано с тем, что на маленьких телефонах кнопки могут начать переходить на другие элементы строки действий, например, на заголовок приложения. Для каждого вида деятельности установите очень важную кнопку, без которой вы не можете обойтись, и всегда уделяйте внимание только ей. Остальное (и если возможно) должно быть iFhoom.
- CollapseActionView — позволяет создавать кнопки, открывающие или скрывающие дополнительные элементы отображения на панели действий. Например, вы можете задать такие параметры для значка поиска При нажатии кнопки мыши поля введения поискового запроса отображаются непосредственно в строке действия.
Значки меню
Если вы разрабатываете приложение Holo Type, вы можете использовать набор готовых иконок от Google. Это может быть доступно для бесплатного скачивания всем желающим.
Пакеты иконок отображаются индивидуально для разных размеров экрана с помощью темной открытой темы Holo. Этот набор необходим, если вы не можете позволить себе роскошь иметь дизайнера в своей команде.
Объединение меню в мероприятия
Загрузка меню из ресурсов происходит быстро. Откройте код активности и продублируйте его методом OnCreateOpticsMenu.
Это отобразит меню, но при нажатии на кнопку ничего не произойдет. Android: Вы можете прикрепить оператор непосредственно к кнопке в вашем коде или непосредственно к XML-ресурсу, установив OnClick с именем метода оператора. Чтобы сделать то же самое в коде, необходимо перегрузить метод активности OntionsIteSedected.
Создание
Подводные камни полезны, когда вы хотите определить, как энергия представлена в линии действия. Примерами могут служить списки покупок и кнопки сортировки. После нажатия кнопки пользователю необходимо разобраться в деталях списка на основе параметров сортировки. На основании названия или порядка добавления в список, а также на основании категории продукта. Давайте посмотрим на код Subman для этого случая.
Здесь мы упомянули различные ярлыки внутри ярлыков. Подменю — это группа одинаковых ярлыков, и вы можете создавать подменю и другие подменю по мере необходимости.
Радиокнопки в меню
- Single — в нашем случае выбрать только один из имеющихся элементов
- Все — выбирает количество доступных элементов, в зависимости от установленного флажка
- Нет — сведения о группе являются обычными пунктами меню, это значение по умолчанию
Код результирующего меню:.
Когда вы запускаете приложение и выбираете один из методов сортировки, ничего не происходит. В меню не отображается, что пункт выбран. Это нужно сделать вручную, вызвав item.setchecked (true).
Скрыть или показать пункты меню
Скрытие пунктов меню может быть полезно, когда телефон временно или вообще не может выполнить какую-либо функцию. Например, есть кнопка для отправки объявлений о покупках через социальные сети, но объявления не могут быть отправлены, если нет подключения к Интернету. Чтобы избежать разочарования пользователей сообщениями об ошибках, можно скрыть кнопки, которые в данный момент не работают. Добавьте кнопку "поделиться":.
Теперь при создании меню с помощью метода OnCreateOpticsMenu проверьте доступность сети. Найдите кнопки и определите их видимость.
Таким образом, меню устанавливается при создании деятельности. Этого достаточно для функций, требующих специального оборудования на телефоне (например, камеры). Однако интернет может быть активирован в любое время, даже после начала деятельности. Вы также можете захотеть пересоздать меню после какого-либо действия пользователя в приложении. Восстановить меню очень просто. Вызовите метод invalidateOptionsMenu() активности. Это вызывает повторный вызов метода onCreateOptionsMenu перед следующим отображением меню. Обратите внимание, что поскольку метод invalidateOptionsMenu был добавлен в API 11, для совместимости с Android 2.x необходимо использовать следующие вызовы
Класс android.support.v4.app.ActivityCompat включен в пакет поддержки.
Другие способы настройки меню
Как вы знаете, Android позволяет настраивать различные ресурсы для разных размеров/ориентации/плотности экрана и в соответствии с другими характеристиками устройства. Это относится ко всем типам ресурсов, включая ресурсы меню. По умолчанию ресурсы меню загружаются из каталога / res/menu. Однако вы можете создать каталог, например / res / menu-sw600dp, чтобы указать конкретный макет меню для устройств с минимальным размером экрана 600 dp по горизонтали или вертикали (обычно это соответствует 7-дюймовому планшету). На практике обычно достаточно указать свойство android:showAsAction = "ifRoom" для меню, так как оно наиболее точно "подгоняет" меню под устройство, на котором запущено приложение. Это также сокращает объем кода ресурса, поскольку в этом случае его не нужно повторять.
Если у вас возникли вопросы по работе главного меню, мы будем рады ответить на них в разделе комментариев.