Документы разработчика

Виджеты приложения

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

Типы виджетов

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

Информационные виджеты

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

 

Виджеты коллекций

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

ListView виджет
GridView виджет

Виджеты управления

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

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

 

Гибридные виджеты

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

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

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

Ограничения виджетов

В то время как виджеты можно понимать как "мини приложения", есть определенные ограничения, которые важно понять, прежде чем приступить к разработке вашего виджета:

Жесты

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

Единственные жесты, доступные для виджетов:

  • Коснуться
  • Вертикальное перемещение

Элементы

Учитывая вышеуказанные ограничения взаимодействия, некоторые из строительных блоков пользовательского интерфейса, которые зависят от ограниченных жестов, не доступны для виджетов. Для получения полного списка поддерживаемых блоков и получения дополнительной информации об ограничениях макета, пожалуйста, обратитесь к разделу "Создание макета виджета приложения» в Виджеты приложения руководство по API.

Руководство по проектированию

Содержание виджета

Виджеты великий механизм привлечения пользователя к вашему приложению на "рекламируя" новый и интересный контент, который доступен для просмотра в вашем приложении.

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

Навигация виджетов

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

Хорошими кандидатами для навигационных ссылок на виджетах являются:

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

Изменение размера виджетов

Начиная с версии 3.1, Android представила для платформы виджеты изменяемых размеров. Изменение размера позволяет пользователям регулировать высоту и/или ширину виджета в рамках ограничений сетки размещения главной панели. Вы можете решить, будет ли ваш виджет разрешать свободно изменять размер или же он будет принудительно привязан к горизонтальным или вертикальным изменениям размера. Вы не должны поддерживать изменение размера, если ваш виджет по сути фиксированного размера.

Разрешение пользователям изменять размер виджетов имеет важные преимущества:

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

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

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

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

Рассмотрение макетов

Было бы заманчиво выполнить макет виджета в соответствии с размерами сетки размещения определенного устройства, которым вы владеете и используете для разработки. Это может быть полезным начальным приближением для макета вашего виджета, но имейте в виду следующее:

  • Количество, размер и расстояние между ячейками может изменяться в широком диапазоне от устройства к устройству, следовательно, очень важно, чтобы ваш виджет был гибким и мог приспосабливаться к большему или меньшему пространству чем ожидалось.
  • На самом деле, как только пользователь изменит размер виджета, система будет реагировать с диапазоном размеров dp, в котором ваш виджет может себя перерисовать. Планирование стратегии изменения размеров виджета используя "размера ведра", а не сетки переменных размеров, даст вам наиболее подходящие результаты.

Конфигурация виджетов

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

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

После установки, как правило, не необходимости повторно посещать настройки. Таким образом, виджеты Android не показывают кнопки "Установки" или "Конфигурация".

После добавления Play виджета на главную панель, виджет предлагает пользователю указать тип данных, которые виджет должен отображать.

Контрольная таблица

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