Проблемы и ошибки        16.06.2019   

Удалил кнопку меню на андроиде. Выбор пунктов меню

Управляющие кнопки разделяют на механические и программные. Первые располагаются на корпусе вашего гаджета - это кнопка питания, качелька громкости (две кнопки с одной качающейся клавишей) и иногда кнопка Домой последнее время чаще бывает программной.

Вторые - это виртуальные кнопки, располагающиеся на экране смартфона или планшета и управляемые также нажатием пальца, но уже на экране. Это программная кнопка Домой , кнопка Назад и кнопка Последние приложения (иногда это кнопка контекстного Меню). Вид этих кнопок зависит от применяемой версии ОС Android. Это может быть соответственно домик, изогнутая стрелка и два прямоугольника один за другим (версия Андроид 4.х) или соответственно круг, треугольник и квадрат (версия Андроид 5).

Остановимся на назначении управляющих кнопок .

Назначение кнопки питания и качельки громкости очевидно. Однако особенностью является то, что включение выключенного смартфона производится длинным (более 2 сек) нажатием на кнопку питания, после чего следует процесс загрузки ОС. При работающем смартфоне короткое нажатие на эту кнопку вызывает экран блокировки (если он включен в настройках) или непосредственно переход на рабочий стол. При работающем смартфоне длинное нажатие на кнопку питания вызывает Меню, в котором присутствуют пункты Выключение, Передача данных, Автономный режим и Перезагрузка (Рестарт).

Механическая кнопка Домой при коротком нажатии вызывает экран блокировки или переход на главный рабочий стол. Длительное нажатие может вызвать список последних запущенных приложений , а двойное нажатие - одну из программ (например, в смартфонах Samsung вызывается приложение S Voice).

Программная кнопка Назад вызывает переход на предыдущий экран, последовательные нажатия - соответственно на несколько предыдущих экранов вплоть до закрытия приложения. Здесь нужно подчеркнуть, что в последнем случае приложение выгружается из оперативной памяти, в то время как нажатие кнопки Домой вызывает переход на главный рабочий стол, но ранее открытое приложение остается в памяти и продолжает работать в фоновом режиме .

Кнопка Последние приложения очень удобна, так как при необходимости повторного запуска одного из ранее используемых приложений нет необходимости снова искать его в общем списке программ (Меню Приложения ) или искать его значок на рабочих столах. Приложения в списке всегда располагаются в обратном хронологическом порядке их запуска (последние запущенные - первыми в списке). Кроме того, в окне списка имеются и дополнительные кнопки вызова Списка активных задач (работающих в фоне приложений), кнопка Поиска приложений и кнопка Очистки списка последних приложений.


Есть множество скрытых функций, которые могут быть весьма полезны. System UI Tuner - одна из них. После активации этого меню пользователь получает больше возможностей в плане кастомизации интерфейса Android. В одной из статей на Трешбоксе мы уже .

Некоторые разработчики уже приспособили System UI Tuner под нужды обычных пользователей. Например, которое было доступно и на предыдущих версиях Android, использует UI Tuner для добавления кастомных кнопок в меню быстрых действий, которое выезжает сверху вместе со «шторкой» уведомлений. Самое крутое заключается в том, что на Android 6.0 Marshmallow использование Custom Quick Settings не требует root-доступа.

Как это работает

В первую очередь, вам необходимо активировать то самое меню System UI Tuner, которое работает только на стабильной версии Android 6.0 Marshmallow. Некоторые превью-версии Android M не получили этой функции. Об активации UI Tuner можно прочесть в нашей соответствующей статье, но если вы не хотите переходить куда-то из этого материала, то: полностью откройте верхнюю «шторку» с быстрыми действиями и уведомлениями, зажмите на 5–7 секунд кнопку с шестеренкой, которая ведет в меню настроек - все, System UI Tuner активирован. Теперь в общем меню настроек Android появился соответствующий пункт, но вам он практически не понадобится. Приложение Custom Quick Settings сделает все за вас.


Далее установите само приложение Custom Quick Settings, которое доступно бесплатно, но с рекламой. Она удаляется через внутренние покупки - 99 рублей.


После установки приложения кастомную кнопку с действием в верхнем меню можно добавить парой действий. По нажатию на плюс Custom Quick Settings можно выбрать название кнопки, ее действие - открытие любой заданной веб-страницы, запуск приложения, переход в какое-то подменю настроек или активация модуля. Для кнопки можно выбирать иконку (всего доступно 1 200 штук стандартных; поддерживаются кастомные), а также дополнительное действие по долгому нажатию. Например, можно создать быструю ссылку на Трешбокс, а по долгому нажатию будет открываться или любой другой сайт - очень удобная вещь.

Возможности

Также можно сделать быстрое действие, которое подключит устройство к определенному Wi-Fi, присутствует в списке сохраненных. Кастомные кнопки с запуском приложений будут очень полезны - отпадает необходимость в переходе на рабочий стол для открытия нужной программы.

Возможности в плане создания быстрых действий очень ограничены - можно только задавать подключение к определенной сети Wi-Fi или устройству с Bluetooth. Здесь все упирается в функционал System UI Tuner.


В Pro-версии приложения доступно добавление функциональных ярлыков с быстрыми действиями. Есть поддержка IFTTT. Стоит отметить, что все кастомные кнопки, добавленные с помощью Custom Quick Settings, не работают на экране блокировки - они просто не отображаются в «шторке», что довольно ожидаемо.

Напомним, все эти возможности также доступны на Android 5.0 / 5.1, но для этого необходимы . Разработчик отмечает, что Custom Quick Settings не использует дополнительную энергию аккумулятора - программа запускается единожды при загрузке системы, а кастомные кнопки обновляются только после того, как это сделает пользователь.

Приятно видеть, как операционная система Android с каждой новой версией перенимает функции, которые ранее были доступны только с root-правами. Надеемся, что компания Google не удалит функцию System UI Tuner в будущем обновлении Android 6.0.1 или 6.1. Кстати, вы уже обновились до Marshmallow?

Обновленная версия Android 5 Lollipop, хотя и похожа на предыдущий KitKat, однако имеет некоторые отличия, которые могут показаться непривычными и неудобными. Настроек в “Леденце” много.

Одни из них (типа контрастного текста или инвертирования цветов) нужны немногим, другие же необходимы практически каждому. Рассмотрим вопрос, как настроить Андроид 5, более детально.

Заводские настройки Android Lollipop

Одна из самых важных Android 5 настроек – Factory Reset Protection («Защита фабричных настроек»). Активация этой опции приведет к тому, что сбросить настройки до заводских будет нельзя без логина и пароля к вашей учетной записи в Google.

Благодаря сервису Android Device Manager владелец потерянного или украденного смартфона сможет удаленно заблокировать и очистить устройство.

Необходимо помнить, что защита работает, только когда смартфон заперт экраном активации.

Восстановление данных после установки обновления Андроид

Еще одна полезная опция - возможность восстановления данных после установки Android 5.0 Lollipop. При первоначальной настройке будут предложены различные варианты восстановления данных вплоть до пропущенных звонков.

Андроид 5 настройка учетных записей

Может пригодиться менеджер учетных записей пользователей – по аналогии с полноценным десктопом можно будет разграничивать доступ к возможностям смартфона.

Доступны 3 типа учётных записей:

  • Учетная запись «Гость» (Guest) обладает минимальными правами. Любая его информация хранится лишь временно. Каждый раз при входе под учеткой гостя система будет спрашивать, хочет пользователь начать работу заново или продолжит последнюю гостевую сессию.
  • «Профиль» (Profile) позволяет настроить доступ к программам и сервисам.
  • «Пользователь» (User) - он же хозяин устройства. Эта учетная запись обладает наибольшими правами. Любое изменение в настройках системы, такое как добавление сети Wi-Fi , будет применяться ко всем другим аккаунтам на устройстве.

Как добавлять пользователей? Очень просто - заходим в настройки и ищем надпись “Пользователи” (Users).

Изначально вы увидите профиль владельца смартфона и гостевой. Также можно добавить пользователей.

Для добавления новых пользователей нужно будет ввести их учетные записи Google. Каждый пользователь сможет кастомизировать операционную систему под себя. Владелец устройства не имеет возможности контролировать этот процесс, однако в его власти разрешить или запретить другим пользователям отправлять SMS и звонить.

Ограничение доступа на Андроид 5 Lollipop

Еще одна полезная функция – так называемая «Кнопка». Если вы даете кому-то свой смартфон и не хотите, чтобы в нем рылись или что-то меняли, используйте «Кнопку». Она ограничит функциональность устройства только одним приложением – тем, на котором установлена. Ко всему другому доступ будет запрещен: «Введите пароль».

Как это сделать? Откройте настройки и выберите опцию “Безопасность”. Нажмите на нее. В открывшемся списке нажмите “Закрепление экрана” (Screen pinning). Затем переключите тумблер в положение “Вкл.” (On).

Теперь вы можете закрепить любое приложение на экран. Для этого запустите выбранную программу и дважды нажмите на ее окошке.

Для выхода из закрепленного приложения нажмите и удерживайте кнопки “Обзор” и “Назад”. Через несколько секунд вы попадете на рабочий стол.

Как настроить прерывания в Андроид 5

Помимо всего прочего, настраивать в Android 5.0 Lollipop можно так называемые «Прерывания» - вы сможете сами определить, какие контакты или приложения смогут вам звонить или посылать уведомления.

Как настроить прерывания? Зайдите в настройки, выберите “Звуки и уведомления” (Sound & notification) и тапните по этой опции. Ниже ползунков настройки звуков будет опция “Прерывания” (Interruptions) - нажмите на нее.

Можно разрешить беспокоить вас только избранным контактам или приложениям. В Lollipop имеется возможность включения режима «Важные» по заданному вами расписанию - для этого есть специальная опция “Расписание режима “Только важные оповещения” (Downtime (priority interruptions only).

Можно быстро менять режимы приоритета, просто коснувшись ползунка громкости. Под ним будут доступны режимы “Не беспокоить” (None), “Важные” (Priority) и “Все” (All).

Первые два режима можно включить бессрочно или на определенное время. Кнопки “+” и “-” позволяют регулировать интервал времени, в течение которого выбранный режим будет действовать. Временной промежуток может регулироваться от 15 минут до 8 часов.

Настройка Lollipop блокировки экрана и уведомлений

В Android 5.0 Lollipop входящие уведомления высвечиваются на экране блокировки. Это не всегда удобно. Вряд ли кому-то хочется “светить” информацию личного характера. Для этого случая есть гибкая настройка в Андроид 5 способа вывода уведомлений.

Чтобы это сделать, зайдите в Настройки -> Звук и уведомления -> На заблокированном экране -> Скрыть личную информацию. После этого посторонние глаза ее не увидят.

Почта в Андроид 5 стала удобнее

Почтовое приложение Gmail, помимо нового дизайна, получило поддержку учетных записей на других почтовых сервисах, поддерживающих протоколы IMAP и POP. Теперь не нужно залезать в браузер, чтобы открыть негугловский «ящик» – все можно будет сделать из одного приложения.

Android 5 настройка экономии батареи

Если вы хотите, чтобы смартфон работал дольше на одной зарядке, следует узнать, как настроить в Андроид 5 режим экономии батареи Project Volta. По словам разработчиков, он позволяет продлить время работы на 15-20%. Правда, при этом устройство начинает заметно «тормозить».

Для того чтобы включить этот режим, войдите в настройки, нажмите на «Батарея», затем на кнопку меню (три точки в правом верхнем углу) и выберите режим экономии батареи:

Когда режим экономии батареи включится, навигационная и статусная панели смартфона станут оранжевого цвета и появится сообщение о включении режима экономии:

Если захотите, то этот режим можно сразу же выключить - в появившемся сообщении есть такая возможность.

Настройка в Андроид 5 функции Switch Access

Главное меню - один из основных инструментов для взаимодействия пользователя с приложением. В Android 2.3.x и раньше оно было «спрятано» на аппаратной кнопке Menu, и разработчики рисовали меню кто как умел. Но начиная с Android 3.0 недоработка была исправлена, меню стало стандартным компонентом на Action Bar, и получило ряд новых возможностей. При этом процесс разработки меню практически не претерпел изменений. Меню в Android - это не просто набор кнопок, на которые можно вешать OnClickListener . В Android с меню можно сделать куда больше, чем кажется на первый взгляд.

В этой статье я расскажу, как сделать современное меню, как адаптировать его для разных размеров экрана, как делать переключатели типа radio button прямо в меню, а также как динамически управлять видимостью кнопок меню, скрывая те функции вашего приложения, которые не будут работать на том или ином смартфоне. По ходу статьи постараюсь дать максимально тех или иных возможностей меню, а также дам ссылки на официальную документацию по теме.

Вот так по-разному может выглядеть меню одного и того же приложения.

Наша первая кнопка в меню

Меню в Android описываются в файлах ресурсов или формируются программным кодом. Рекомендуется первый вариант по целому ряду причин: скорость разработки, наглядность, простота сопровождения. Ресурсы меню располагаются в подкаталоге menu каталога ресурсов приложения res . Создаем каталог menu , затем создаем новый Android XML File:


Выбираем тип ресурса Menu , вводим имя файла. Так как в разных , скорее всего, будет разным, рекомендую привязывать имена файлов ресурсов меню к именам activity.

В открывшемся редакторе введем код первой кнопки нашего меню:

Давайте рассмотрим использованные атрибуты:

  • android:id указываем, чтобы потом в коде отличать одни кнопки от других.
  • android:orderInCategory указывает порядок нашей кнопки относительно других. Указывайте порядок с шагом в 10 или 100, это позволит в будущем добавлять новые элементы в любое место, не перестраивая порядок остальных.
  • android:showAsAction - самый интересный параметр, поскольку именно он управляет поведением элементов меню в разных ситуациях. Он может принимать целый ряд значений:
    • ifRoom - Показывать элемент в action bar, только если для него достаточно места. Если места недостаточно, элемент будет автоматически скрыт в дополнительное меню (то, которое показано тремя точками друг над другом). Это лучший способ кастомизации меню в зависимости от размера экрана устройства. На больших экранах планшетов action bar будет заполнен кнопками, а на небольших телефонах будут показаны самые важные кнопки, в то время как до остальных тоже можно добраться, но только через дополнительное меню. Имейте в виду, что дополнительное меню отображается в action bar только на тех смартфонах, на которых нет аппаратной кнопки меню.
    • withText - Рядом с иконкой кнопки будет показан текст, заданный свойством android:title . Этот параметр можно указывать в комбинации с другими, разделяя параметры знаком |
    • never - Кнопка никогда не будет видна на action bar, даже если для нее есть место. К такой кнопке всегда придется добираться через дополнительное меню.
    • always - Всегда показывать кнопку в action bar. Данным параметром нельзя злоупотреблять, так как на маленьких телефонах кнопки могут начать заползать на другие элементы action bar, например на заголовок приложения. Определите для каждой activity максимум одну самую важную кнопку, без которой никак нельзя, и отметьте always только у нее. Остальные (а по возможности все) должны быть ifRoom .
    • collapseActionView - позволяет сделать кнопку, открывающую или скрывающую дополнительный элемент View в action bar. Например, можно задать такой параметр иконке поиска, по ее клику показывать прямо в action bar поле для ввода поискового запроса.
  • android:title - определяет заголовок кнопки меню. Он может отображаться рядом с иконкой в action bar или же как название элемента в дополнительном меню.
  • android:icon - иконка кнопки.

Иконки для меню

Если вы разрабатываете приложение в стиле Holo, вы можете использовать готовый набор иконок от Google, который доступен всем для загрузки с официального сайта совершенно бесплатно.

Набор иконок представлен отдельно для темной и отдельно для светлой темы Holo, а также для разных размеров экранов. Если вы не можете позволить себе дизайнера в команде, этот набор просто незаменим.

Подключение меню к Activity

Загрузить меню из ресурса очень быстро. Открываем код Activity и перекрываем метод onCreateOptionsMenu:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.your_activity_menu, menu); return true; }
Теперь меню отображается, но при нажатии на кнопку ничего не происходит. Повесить обработчик на кнопку можно кодом или прямо в XML-ресурсе, задав в свойстве android:onClick имя метода-обработчика. Чтобы сделать то же самое кодом, нужно в Activity перекрыть метод onOptionsItemSelected:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menuPurchasesListNewRecord: // TODO: обработчик нажатия здесь return true; } return super.onOptionsItemSelected(item); }

Создаем подменю

Подменю полезно, когда мы хотим уточнить способ выполнения действия, представленного в action bar. К примеру, у нас есть список покупок и кнопка «Сортировка». По нажатию кнопки нужно выяснить, по какому параметру пользователь хочет отсортировать элементы списка: по категории товара, по названию или по порядку добавления в список. Посмотрим код подменю для такого случая:

Здесь мы объявили еще один тег внутри тега. Подменю представляет собой группу все тех же тегов, что позволяет при необходимости сделать подменю в подменю и так далее.

Radio button"ы в меню

Мы только что сделали меню для выбора порядка сортировки покупок. Было бы здорово показывать, какой способ сортировки используется в текущий момент. Список может быть отсортирован только одним из трех возможных способов , что отлично соответствует идее radio button. Чтобы сделать из нашего подменю набор radio button, достаточно тегу указать свойство android:checkableBehavior="single" . Возможные значения android:checkableBehavior:
  • single - выбор только одного из доступных элементов, наш случай
  • all - выбор любого количества доступных элементов, аналог check box
  • none - элементы группы являются обычными элементами меню, это значение по умолчанию

Полученный код меню:

Если запустить приложение и попробовать выбрать один из способов сортировки, ничего не произойдет. В меню не показано, что какой-то элемент выбран. Это придется сделать вручную вызовом item.setChecked(true);
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menuPurchasesListNewRecord: // TODO: обработчик нажатия здесь return true; case R.id.menuPurchasesListSortOrderCategory: item.setChecked(true); return true; case R.id.menuPurchasesListSortOrderName: item.setChecked(true); return true; case R.id.menuPurchasesListSortOrderAddTime: item.setChecked(true); return true; } return super.onOptionsItemSelected(item); }

Если у вас остались вопросы по работе с главным меню, буду рад ответить в комментариях.

Android поддерживает несколько типов меню. Первый - на телефоне есть отдельная кнопка Menu (в старых телефонах), нажатие которой вызывает меню. В новых устройствах отдельную кнопку убрали, заменив на значок меню в виде трёх точек в вертикальной ориентации. Второй тип - контекстное меню , которое появляется при нажатии и удерживания пальца на экране в нужном месте (также можно нажать и удерживать центральную кнопку на телефоне). Контекстное меню в свою очередь может иметь подменю. Сегодня мы познакомимся с первым типом меню. В данной статье будет рассматриваться работа с меню на новых устройствах под управлением Android 4.0 и выше.

В шаблоне Empty Activity нет меню, поэтому мы создадим его сами. Это поможет вам понять принцип работы и получить общее представление о проекте. Запоминать названия классов, методов и код для обработки выбора пунктов меню необязательно. В других шаблонах меню будет встроено и вы можете сразу использовать его.

Создайте новый проект на основе Empty Activity и запустите его. Никакого меню пока нет.

Создадим несколько строковых ресурсов в файле res/values/strings.xml , которые будут отвечать за пункты меню:

Settings Кот Кошка Котёнок

Настройки

В приложение Настройки можно попасть: нажав на иконку в меню приложений (или на рабочем столе) или через значок в панели переключателей. Основной экран приложения разделен на две вкладки ВСЕ и ПОДДЕРЖКА, в последней можно обнаружить две ссылки: Справочный центр / Оставить отзыв и Рекомендации и полезные советы . В некоторых странах во вкладке поддержка можно получить помощь и задать вопрос живому человеку в чате. Все настройки смартфона собраны в 4 группы: Беспроводные сети , Устройство, Личные данные и Система; и разбиты на 22 раздела. В верхней части закреплен 5-я группа которая называется Подсказки, здесь появляются интерактивные советы по настройке системы. Еще одно нововведение заключается в наличии кнопки Справка/отзыв во всех разделах/настройках. Во всех экранах Настроек кроме главного есть боковое меню для быстрого перехода в другие разделы.

Базовые приложения

Телефон – на основном экране приложения отображаются: строка поиска с кнопками голосового поиска и вызова настроек приложения, снизу, кнопка вызова номеронабирателя. Вкладка Быстрый набор содержит карточки часто набираемых контактов, вкладка Недавние содержит список последних звонков, вкладка Контакты – соответственно все контакты. В настройках приложения можно управлять шаблонами быстрых ответов и списком заблокированных абонентов.

Контакты – это приложение для работы с контактами пользователя. По функциональности оно мало чем отличается от вкладки Контакты в приложении Телефон.

Сообщения – приложение для работы с SMS по умолчанию. Основной экран приложения содержит список диалогов, кнопки поиска, настроек и создания нового сообщения. Приложение выглядит максимально просто и имеет примитивную функциональность. Из необычного отмечу то, как приложение присваивает каждому диалогу свой уникальный основной цвет.

Gmail – это приложение для работы с электронной почтой по умолчанию начиная с пятой версии Android. В него можно добавлять почтовые ящики не только от Google, но и от других почтовых сервисов. На основном экране отображается список писем и кнопки поиска и создания нового сообщения. Свайпом от левой края экрана вызывается боковая панель, которая содержит список папок и ярлык настроек.

Chrome – является системным браузером по умолчанию, к его плюсам можно отнести интеграцию с сервисами Google и широкие возможности синхронизации вкладок, форм, паролей и т.д., к минусам – неидеальный пользовательский интерфейс и излишняя нагрузка на процессор и аккумулятор.

Часы – включает в себя следующие функции: будильник, мировое время, таймер и секундомер;

Камера . На основном экране расположен видоискатель и кнопки: спуска затвора, переключения на фронтальную камеру, галереи, включения таймера, активации вспышки, переключений режима HDR+, включения сетки, выбора пресета баланса белого и Дополнительно. Переключение между режимами съемки фото и видео производится свайпом в сторону. Кроме основного режима съемки есть еще четыре: Замедленная съемка – позволяет снимать с четырехкратным или восьмикратным замедлением; Панорама – позволяет создавать панорамные фотографии с углом обзора до 360°; Photo Sphere – создание фотосферы; Размытие – позволяет создавать фотографии с искусственным эффектом боке.

Фото – это приложение выполняет роль системной галереи и одновременно с этим является клиентом одноименного сервиса от Google.

Календарь – основным представлением приложения является Расписание, где все события идут одним списком, что интересно: начало каждого месяца в этом списке озаглавлено симпатичной картинкой отражающей основную суть этого месяца. Чтобы посмотреть на месяц, нужно тапнуть на названием текущего месяца в заголовке. Представление можно сменить на День, 3 дня, Неделя и Месяц. В правом нижнем углу отображается кнопка добавления события.

Калькулятор – обладает стандартной и расширенной функциональностью. В портретной ориентации панель с дополнительными функциями (sin, cos, tan, ln и т.д.) вызывается свайпом от правого края экрана, в альбомной же ориентации эта панель видна всегда.

Карты – это приложение-клиент для Карт Google. Основной экран содержит строку поиска и кнопки: кнопка вызова бокового меню, кнопка голосового поиска, кнопка ориентации на север, кнопка определения текущего местоположения и кнопка создания маршрута. В боковом меню можно сохранить выбранный участок карты в память телефона для дальнейшего пользования приложением в оффлайн режиме. В разделе “Хронология” ведется журнал перемещений пользователя. Раздел “Ваши впечатления” содержит отзывы о публичных местах: ресторанах, торговых центрах, салонах красоты и т.д.

Загрузки простейший менеджер загрузок.

Фирменные приложения

Play Маркет – это клиент магазина приложений и основное фирменное приложение от Google. Посредством него производится покупка, установка и обновление сторонних приложений. Раздел “Игры и приложения” представляет собой виртуальную витрину, где отображаются различные подборки товара, например, Новинки или Самые популярные игры, в виде миниатюр приложений возглавляющих соответствующую подборку и ссылки на весь список. Раздел “Фильмы, музыка, книги” это тоже виртуальная витрина, но на ней представлен соответствующий контент и пресса также в виде подборок и банеров. Раздел “Мои приложения и игры” для удобства пользователя состоит из двух списков: Установленные и Все. Раздел “Список желаний” показывает все товары когда либо отмеченные пользователем как желаемые.

Play Игры – это приложение клиент одноименного сервиса. Раздел “Главная” отображает основные данные о пользователе: имя, уровень, сколько очков опыта нужно набрать для перехода на следующий уровень. Ниже отображаются списки игр: рекомендованные игры, игры в которые играет пользователь и во что играют друзья. Раздел “Мои игры” содержит три вкладки: последние, все и установленные. Раздел “Уведомления” в трех вкладках отображает список приглашений, список подарков и запросов, и список квестов. Раздел “Игроки” в двух вкладках отображает список Добавленных игроков и список Рекомендуемых – друзей друзей. Раздел “Найти игры” так же содержит три вкладки: Рекомендуем, Популярные и Сетевые игры.

Play Музыка – это музыкальный плеер и, одновременно, клиент одноименного облачного музыкального сервиса. Раздел “Главная” отображает список последних действий пользователя: прослушанные или купленные треки. Раздел “Фонотека” отображает все треки пользователя, купленные или закаченные им с компьютера, сортирую во вкладках по плейлисту, исполнителю, альбому или жанру. Присутствует интересная функция “Автомиксы”, она значительно упрощает создание плейлистов из большого количества треков, для создания автомикса достаточно указать имя исполнителя, альбома или жанра, и приложение само создаст новый плейлист. В боковом меню так же присутствует ссылка на Play Маркет, т.к. покупка треков производится только из него. Теперь в настройках есть эквалайзер.

Play Фильмы – это клиент сервиса для покупки/проката фильмов и просмотра на мобильном устройстве . Раздел “Главная” отображает фильмы, сериалы и мультфильмы собранные в плейлисты по жанрам и популярности. Раздел “Библиотека” отображает список купленных или взятых в прокат пользователем фильмов. В боковом меню присутствуют ссылка на Play Маркет.

YouTube – это клиент одноименного сервиса. Основной экран разделен на четыре вкладки: Главная, В тренде, Подписки и Аккаунт. Последняя вкладка содержит разделы: Просмотренные, Мои видео, Оповещения, Покупки и Посмотреть позже; а так же список плейлистов. Окно просмотра ролика удобное и функциональное, но имеет одну неприятную особенность: при открытии ролика начинается его автоматическая загрузка, даже если устройство для доступа к интернет использует мобильную сеть . Поэтому если вы открыли видео не для его просмотра, а, например, для просмотра описания или комментариев, приготовьтесь расстаться с несколькими десятками (сотнями?) мегабайт трафика.

Диск – это приложение для работы с сервисом облачного хранения данных Google Диск. Основной экран отображает корневую директорию хранилища пользователя и список недавно открытых файлов . Раздел “Доступные мне” отображает список файлов других пользователей, к которым открыт доступ. Кроме этого есть разделы: Google Фото, Недавние, Помеченные, Офлайн-доступ и Загруженные. В боковой панели снизу показывается какой объем дискового пространства занят и сколько всего доступно пользователю.

Последние несколько лет Apple и Google последовательно двигают свои операционные системы навстречу друг другу, если быть точным, пытаются зайти друг к другу во фланг. Apple с каждой версией iOS расширяет функциональность и пытается сделать систему более гибкой для пользователя и приложений. Google же пытается исправить традиционные слабые : привести наконец в порядок работу с уведомлениями, сделать единообразным и более выверенным и побороть утечку заряда аккумулятора. И они, надо сказать, двигаются в правильном направлении, жаль что иногда черезчур медленно.

В Android 7.1 лично меня подкупают: более дружелюбные в сравнение с iOS механика многозадачности и работа с несколькими приложениями; гибкость в выборе инструментов для решения тех или иных задач; глубокая интеграция с сервисами Google, которыми я активно пользуюсь; более стройный и логичный пользовательский интерфейс. Нельзя не заметить как Google подчистил список предустановленных приложений избавив пользователя от хлама. Не устраивает меня: сохранившийся дренаж заряда батареи; разнобой в UI подавляющего числа приложений и менее эффективное использование поверхности экрана. Систему, не смотря на постоянные улучшения, до сих пор нельзя назвать полностью безопасной, общая оптимизация в iOS по прежнему лучше. Подводя итог, можно однозначно утверждать, что Android до пятой версии и сейчас это практически две разные системы, радует, что Google нащупали правильное направление и медленно и верно двигаются по нему.

Я создаю приложение для воспроизведения детей для Android. Мне нужно отключить все ключи, когда он используется. Я установил приложение в качестве домашнего приложения и отключил задний ключ (который заботится о кнопке «Домой» и «Назад»). Чтобы очистить список недавних задач, я создал список Dummy Activites, которые запускаются, а затем завершаются, когда приложение запускается. Dummy Activites выглядят так:

Public class Dummy1 extends Activity { public void onCreate(Bundle paramBundle) { super.onCreate(paramBundle); finish(); } }

И затем в моем onCreate приложения я выполняю:

This.pm.setComponentEnabledSetting(new ComponentName(this, Dummy1.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); Intent localIntent1 = new Intent(this, Dummy1.class); localIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(localIntent1);

Это позаботится, когда кто-то пытается удерживать клавишу «Домой», чтобы отображать последние задачи, когда я создаю 8 из них, и все они пустые, поэтому пользователь не может щелкнуть, чтобы изменить приложения.

Теперь единственной кнопкой, которую я не могу отключить, является кнопка «Недавние задачи / приложения» (доступная в основном для устройств HTC, то есть One X, One S и т. Д.). Кажется, что эта кнопка все еще поднимает все последние задачи (хотя мои фиктивные задачи были созданы), и я не могу найти «крючок» для события, которое запускается при нажатии этой кнопки?

Примечание. Я знаю, что он работает, потому что такие приложения, как ToddlerLock, сделали это … Я просто не могу понять это.

Это закроет диалог RecentActivity. Поместите его в свой класс активности.

@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (!hasFocus) { windowCloseHandler.postDelayed(windowCloserRunnable, 250); } } private void toggleRecents() { Intent closeRecents = new Intent("com.android.systemui.recent.action.TOGGLE_RECENTS"); closeRecents.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); ComponentName recents = new ComponentName("com.android.systemui", "com.android.systemui.recent.RecentsActivity"); closeRecents.setComponent(recents); this.startActivity(closeRecents); } private Handler windowCloseHandler = new Handler(); private Runnable windowCloserRunnable = new Runnable() { @Override public void run() { ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); ComponentName cn = am.getRunningTasks(1).get(0).topActivity; if (cn != null && cn.getClassName().equals("com.android.systemui.recent.RecentsActivity")) { toggleRecents(); } } }

Вам нужно будет указать следующее разрешение в манифесте.

Вы пробовали этот код?

Public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); Log.d("Focus debug", "Focus changed !"); if(!hasFocus) { Log.d("Focus debug", "Lost focus !"); Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); sendBroadcast(closeDialog); } }

На самом деле вы не можете отключить кнопку задачи. Когда вы нажимаете на нее, ваша активность вызывает onPause() и вы можете перенести свою задачу на фронт в этом методе. См. Мой ответ на связанный вопрос.

Насколько я знаю, вы не можете переопределить поведение кнопки «домой» (например, как вы можете переопределить поведение кнопки BACK), если пользователь не подтвердит это. Другими словами, по умолчанию приложение, которое в настоящее время обрабатывает кнопку «домой» – то есть текущую домашнюю панель запуска, – сначала нужно будет очистить.

Вы можете отключить всплывающие окна StatusBar:

@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); try { if (!hasFocus) { Object service = getSystemService("statusbar"); Class statusbarManager = Class.forName("android.app.StatusBarManager"); Method collapse = statusbarManager.getMethod("collapse"); collapse.setAccessible(true); collapse.invoke(service); } } catch (Exception e) { Log.e(TAG, "onWindowFocusChanged - " + e.getCause()); } }

Также вы должны добавить это разрешение в AndroidManifest.xml

Надеюсь это поможет.

Как в приложениях, так и в сайтах, пользователи опираются на меню для поиска нужного контента и использования функционала. Меню – неотъемлемый компонент любого сайта или приложения, но не все меню одинаковы. Очень часто мы сталкиваемся с проблемами в меню – одни просто сбивают с толку, другими сложно управлять, третьи вообще сложно отыскать на экране.

Меню должно быть видимым

О габургер-меню было написано множество постов , и большинство отзываются о нем негативно.

Эта небольшая кнопочка из трех линий – настоящая проблема. И это больше не о самой иконке, а о том, что она скрывает собой всю навигацию.

Вне поля зрения – вне памяти

Скрытая навигация – довольно логичное решение для маленьких экранов – не нужно париться об ограниченном пространстве экрана, просто поместите всю свою навигацию в прокручиваемую боковую панель, которая по умолчанию скрыта.

Но кнопка гамбургер-меню менее эффективна по одной простой причине: вам нужно дополнительно кликнуть, чтобы увидеть желаемую опцию.

Вижу и использую

Теория взаимодействия, A/B-тесты и эволюция некоторых топовых приложений мира говорит о том, что демонстрация опций меню более видимым способом увеличивает вовлеченность и удовлетворенность пользователя.

Вот почему многие приложения переходят с гамбургер-меню на более релевантные опции навигации, которые всегда на виду.


Панель вкладки: Вместо скрытия опций навигации в сворачиваемую панель, вы выводите их наружу.

YouTube всегда делает элементы ключевого функционала доступными в одно касание, позволяет быстро переключаться между функциями.


Есть также умные способы прятать панель вкладок, когда она не используется. Если экран представляет собой прокручиваемую ленту, панель вкладок можно прятать, когда пользователь скроллит ее для подгрузки нового контента, и снова показывать ее, если они пытаются промотать ленту назад.

И еще кое-что: многие дизайнеры ошибаются, скрывая параметры сортировки в выпадающем меню. Но это ведет к одной и той же проблеме – пользователи видят только выделенную опцию, а другие возможности сортировки скрыты.


Меньшая видимость (выпадающее меню) и большая видимость (переключатель). Источник: uxmovement.

Вывод : многие приложения все еще используют гамбургер-меню, потому что это простой способ разместить уйму ссылок в приложении. Но это неверное направление, потому что если в ресурсе сложная навигация, спрятав ее, вы ухудшите юзабилити мобильного интерфейса .

Обозначение текущего местоположения

Отсутствие индикации текущего местоположения пользователя – это, возможно, самая распространенная ошибка в построении меню сайтов или приложений. “Где я?” – один из фундаментальных вопросов, на которые пользователю нужно ответить для успешной навигации.

Пользователи опираются на визуальные подсказки из меню, чтобы ответить на этот критически важный вопрос. Но иногда они видят совсем не то, что ожидают увидеть.

Иконки

Есть универсальные иконки, с которыми пользователи хорошо знакомы, и которые представляют популярный функционал по типу поиска, почты, печати и т.д. К сожалению, “универсальные” иконки довольно редки. И дизайнеры приложения часто прячут функционал за иконки, которые очень сложно понять.

Предыдущая версия приложения Bloom.fm для Android. Очень сложно понять текущее местоположение пользователя.

Цвета

Текущее состояние можно напрямую обозначить в панели вкладок с помощью контрастных цветов.


Как цвет кнопки управляет вниманием пользователя. Источник: uxmovement. Выделенный элемент изменяет свой вид на панели вкладок.

Координируйте меню с задачами пользователя

Вы должны использовать только понятные названия ссылок . Выясните, что ищет пользователь и используйте названия категорий, которые понятны и близки вашей целевой аудитории. Меню – это не то место, где стоит шутить с жаргоном. Используйте терминологию, которая четко описывает ваш контент и функционал.

Пользователи любят мобильные приложения, которые быстро решают какой-то конкретный кейс. И вы можете сократить время, которое нужно потратить пользователю, на понимание меню.

Сложные функции должны всегда отображаться с соответствующей текстовой меткой.
Вывод: Элементы меню должны быть легко сканируемы. Пользователи должны иметь возможность понимать, что конкретно происходит, когда они касаются пальцем того или иного элемента.

Делайте манипуляции простыми

Слишком маленькие или слишком близко расположенные друг к другу элементы доставляют огромный дискомфорт мобильным пользователям. Так что делайте ссылки меню достаточно большими, чтобы их можно было легко кликнуть или коснуться пальцем.

В исследовании MIT Touch Lab было установлено, что средняя ширина указательного пальца взрослого человека составляет 1.6 – 2 см. Это равноценно 45-57 пикселям.