Отладка макета с помощью Layout Inspector

Инспектор макета в Android Studio позволяет отлаживать макет вашего приложения, отображая иерархию представлений, где вы можете проверить свойства каждого представления. С помощью инспектора макета вы можете сравнить макет вашего приложения с макетами дизайна, отобразить увеличенное или трехмерное изображение вашего приложения и изучить детали его макета во время выполнения. Это особенно полезно, когда ваш макет создается во время выполнения, а не полностью в XML, и макет ведет себя непредсказуемо.

Рисунок 1. Встроенный инспектор компоновки для приложения Jetchat.

Начать

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

Вот как выполнить некоторые распространенные задачи:

  • Для просмотра иерархии и проверки свойств каждого представления используйте окна инструментов « Дерево компонентов» и «Атрибуты» . Для доступа к атрибутам в инспекторе компоновки может потребоваться перезапуск действия. Дополнительную информацию см. в разделе «Проверка атрибутов представления» .
  • Чтобы выбрать элементы интерфейса, щелкнув по ним один раз, или перейти к коду, дважды щелкнув по ним, включите функцию «Подробный просмотр кода». Кнопка «Переключить глубокий просмотр» .
  • Для взаимодействия с приложением отключите функцию «Глубокий просмотр» . Кнопка «Переключить глубокий просмотр» .
  • Для проверки физических устройств включите зеркальное отображение устройств .
  • Чтобы включить обновления в реальном времени при обновлении пользовательского интерфейса приложения, убедитесь, что функция Live Edit включена.
  • Для использования 3D-режима сделайте снимок в инспекторе компоновки. Снимок экрана инспектора компоновки а затем нажмите «Режим 3D».3D-кнопка .

Выберите или выделите область просмотра.

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

Чтобы выбрать представление, щелкните по нему в дереве компонентов или в окне отображения макета . Все атрибуты макета для выбранного представления отобразятся на панели «Атрибуты» .

Если ваш макет содержит перекрывающиеся элементы, вы можете увидеть все элементы в области, щелкнув правой кнопкой мыши в режиме «Подробный просмотр». Кнопка «Переключить глубокий просмотр» Чтобы выбрать элемент, который не находится на переднем плане, щелкните по нему в дереве компонентов или поверните макет .

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

Скрыть границы макета и подписи к элементам отображения.

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

Создание снимков иерархии компоновки

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

Снимки содержат данные, которые вы обычно видите при использовании инспектора макета, включая подробное 3D-изображение вашего макета, дерево компонентов вашего макета View, Compose или гибридного макета, а также подробные атрибуты для каждого компонента вашего пользовательского интерфейса. Чтобы сохранить снимок, нажмите «Экспорт/импорт снимка». Экспорт/импорт снимков а затем экспортируйте снимок .

Загрузите ранее сохраненный снимок экрана инспектора макета, нажав кнопку «Импорт снимка» .

3D-режим

Функция отображения макета обеспечивает расширенную 3D-визуализацию иерархии представлений вашего приложения во время выполнения. Для использования этой функции сделайте снимок экрана. Экспорт/импорт снимков Нажмите кнопку «Режим 3D» .3D-кнопка В окне инспектора снимков поверните изображение, перетаскивая мышь.

Инспектор компоновки: 3D-вид
Рисунок 2. Повернутый 3D-вид компоновки.
Инспектор компоновки: вид межслойного расстояния
Рисунок 3. Для расширения или сужения слоев макета используйте ползунок «Расстояние между слоями» .

Сравните расположение элементов приложения с наложенным эталонным изображением.

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

  • Чтобы загрузить наложение, выберите « Загрузить наложение». Эта опция доступна на панели инструментов «Инспектор макета» . Наложение масштабируется в соответствии с макетом.
  • Для регулировки прозрачности наложения используйте ползунок Overlay Alpha .
  • Чтобы удалить наложение, нажмите «Очистить наложение».

Проверить состав

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

Узнайте больше о компоненте Latout Inspector для Compose.

Проверка атрибутов просмотра

Для корректной работы Layout Inspector необходимы следующие глобальные настройки:

adb shell settings put global debug_view_attributes 1

Эта опция генерирует дополнительную информацию для проверки всех процессов на устройстве.

При запуске Layout Inspector автоматически включает эту настройку. Это приводит к перезапуску текущей активной активности. Вы не увидите перезапуска другой активности, если этот флаг не будет отключен вручную на устройстве.

Чтобы отключить этот флаг, выполните следующую команду adb:

adb shell settings delete global debug_view_attributes

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

Автономный инспектор компоновки

Для оптимальной производительности мы рекомендуем использовать инспектор макетов в режиме встраивания по умолчанию. Если вы хотите отключить встраивание инспектора макетов, перейдите в меню «Файл» ( Android Studio на macOS) > «Настройки» > «Инструменты» > «Инспектор макетов» и снимите флажок « Включить встраиваемый инспектор макетов ».

В автономном режиме включите обновления в реальном времени, нажав кнопку « Обновления в реальном времени». опция на панели инструментов инспектора макета .