Чтобы создать эффективную структуру виджетов, сначала определите основной контент. От макета зависит, как информация и интерактивные элементы будут организованы в виджете. В Android есть несколько встроенных макетов для панелей инструментов, текста, виджетов списков и сеток, которые упрощают этот процесс.
Текст
Текстовые макеты идеально подходят для краткой информации. Вы можете добавить к тексту изображение, чтобы сделать виджет более привлекательным.
Идеально подходит для заголовков, обновлений статуса, кратких описаний и других случаев, когда достаточно одной строки текста.
Добавьте изображение, чтобы сделать объявление более привлекательным. Подробнее о том, как адаптировать макет для экранов разных размеров, рассказывается в разделе Точки останова.
Панели инструментов
Используйте макеты панели инструментов, чтобы предоставить пользователям быстрый доступ к часто используемым задачам в приложении. Макет будет адаптироваться к размеру виджета.
Макет панели инструментов поиска специально разработан так, чтобы привлечь внимание к поиску как основному действию на панели инструментов. Дополнительные удобные кнопки позволяют быстро получить доступ к часто используемым функциям.
На панели инструментов размещается фирменный стиль приложения, а также кнопки для наиболее часто используемых задач, которые идеально подходят для переключаемых настроек или ссылок на задачи. При изменении размера окна менее популярные варианты могут быть скрыты, чтобы освободить место для более востребованных действий. Используйте точки останова, чтобы добавить новую кнопку размером не менее 48 dp, если для нее есть место.
Списки
Используйте макеты списков, чтобы упорядочить несколько элементов в понятном и удобном для просмотра формате. Это идеальный вариант для заголовков новостей, списков дел и сообщений. Организуйте контент в структурированный список, который можно сканировать. Выберите, как будет представлен контент: в контейнере или без него.
Списки с текстом и изображениями идеально подходят для демонстрации разных типов контента, например новостных заголовков, плейлистов с обложками альбомов или сообщений.
Макет со списком задач идеально подходит для отображения задач, поскольку предоставляет пользователям четкие цели нажатия, чтобы быстро отмечать элементы как выполненные.
Интуитивно понятное управление с помощью списков действий, в которых визуальные состояния "включено/выключено" позволяют сразу понять статус элемента.
Этот макет идеально подходит для показа полноэкранных изображений на устройствах с Android 17 и более поздних версий. В нем используется привязка прокрутки, чтобы каждый дочерний элемент идеально соответствовал высоте контейнера виджета.
Сетка
Показывайте изображения в компактной, гибкой и визуально привлекательной сетке с возможностью добавления ярлыков. Используйте столбцы и строки, которые адаптируются к разным размерам экрана.
Создавайте привлекательные галереи изображений с возможностью прокрутки, используя сетки только с изображениями. Строки и столбцы автоматически адаптируются к экранам разных размеров, чтобы данные отображались оптимальным образом.
Вы также можете добавить текстовые ярлыки и описания, чтобы обогатить контент сетки изображений дополнительным контекстом и информацией.
Образцы кода
В таблице ниже показано, как каждый канонический макет реализован в Jetpack Glance в репозитории Android Platform Samples на GitHub.
| Канонический макет | Цифровые отпечатки | Руководство |
|---|---|---|
| Макет списка действий |
|
|
| Проверка макета списка |
|
|
| Выразительная панель инструментов |
|
|
| Макет сетки изображений |
|
|
| Макет списка с текстом на изображении |
|
|
| Макет с длинным текстом |
|
|
| Макет панели инструментов поиска |
|
|
| Макет изображения без полей / прокрутка с фиксацией |
|
|
| Стандартная панель инструментов |
|
|
| Текст с изображением |
|