Облегчаем жизнь Android-разработчика c помощью Tools

Разбираем возможности Android Tools на практических примерах

Tools — это инструмент для работы с XML-файлами в Android. Он поддерживает множество полезных атрибутов, особенно при вёрстке экранов. Чтобы воспользоваться его атрибутами, в файле XML нужно прописать namespace (пространство имен) этого инструмента в корневом элементе, по аналогии с примерами ниже:

И просто добавляете такую строку:

Получается так:

Тогда чем отличается ещё один namespace от двух выше? Дело в том, что при сборке приложения атрибуты с тегом tools не попадают в итоговый проект, а значит, и в приложение, которое устанавливается на смартфон. Возникает закономерный вопрос: а зачем нам использовать атрибуты, которые всё равно не попадают в приложение и не влияют ни на что? А вот очень даже влияют.

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

А вот если заменить android на tools, то во время вёрстки текст будет виден, и вы сможете посмотреть, как он выглядит. Но в финальную сборку этот атрибут уже не попадёт, и имя будет отображаться только тогда, когда оно загрузится с сервера. Удобно, не правда ли?

Давайте посмотрим, какие ещё возможности предоставляет инструмент tools.

Заменяем android на tools для любого атрибута

Мы уже говорили,как можно использовать tools для подстановки текста. Но, в принципе, его можно применять для любого атрибута. Например, кнопка не видна по умолчанию, но в вёрстке на неё можно посмотреть и убедиться, что она стоит на своём месте и выглядит как положено. Для этого мы, помимо видимости через invisible, прописываем видимость через tools только для себя.

Используем tools в работе со списками

Один из наиболее часто используемых элементов в вёрстке — список. И для него у tools есть много полезных атрибутов. ItemCount показывает на экране предпросмотра ровно столько элементов, сколько вы хотите увидеть.

Также можно посмотреть, как будет выглядеть типовой список. Для этого в Android Studio есть свои шаблоны. Чтобы не смотреть на список по умолчанию, можно отобразить элемент списка. Используйте для этого listitem, как в примере ниже.

Более того, в качестве элемента списка вы можете выбрать и другой шаблон:

Атрибут

Значение

@tools:sample/full_names

Случайные имя и фамилия

@tools:sample/first_names

Случайные имена

@tools:sample/last_names

Случайные фамилии

@tools:sample/cities

Случайные названия городов

@tools:sample/us_zipcodes

Случайные почтовые индексы

@tools:sample/us_phones

Случайные телефонные номера формата (800) 555-ХХХХ

@tools:sample/lorem

Длинный текст-заглушка

@tools:sample/avatars

Аватарки

@tools:sample/backgrounds/scenic

Задний фон

@tools:sample/date/mmddyy

Случайные даты в разном формате

@tools:sample/date/hhmm

Случайные даты в разном формате

@tools:sample/date/hhmmss

Случайные даты в разном формате

@tools:sample/date/day_of_week

Случайные даты в разном формате

@tools:sample/date/ddmmyy

Случайные даты в разном формате

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

Но и это ещё не всё. Если у вас уже есть макет элемента списка, то вы можете передать в список именно его, чтобы видеть, как именно будет выглядеть ваш список. Вот так:

Отображаем фрагмент макета

Если вы хотите увидеть фрагмент (fragment) внутри активити (activity), то для этого у tools есть отдельный атрибут. Без него у вас будет просто серое поле на месте фрагмента:

То же самое можно сделать с любым макетом, который отображается через include, если использовать атрибут showIn:

Проверяем отображение Navigation Drawer

Если вы используете Drawer в вашем приложении, неплохо было бы знать, как он смотрится на экране вёрстки, потому что он не отображается там по умолчанию. Тут нам поможет tools:openDrawer и его параметры left/right/end/start в зависимости от того, с какой стороны должен открываться Drawer:

Создаём собственные шаблоны 

Помимо шаблонов Android Studio, например, для списков, можно создавать свои собственные шаблоны с теми данными, которые вам нужны. Возможно, вам нужны шаблоны не только на английском языке. Шаблоны создаются в виде простых json-файлов. Для этого нужно создать отдельную папку в вашем проекте:

В папке можно создать нужный вам файл и заполнить его данными.

Теперь эти данные можно использовать в качестве шаблона в своей вёрстке.

Атрибутов есть ещё огромное количество. Как говорилось выше — попробуйте заменить android на tools. Хотя есть и специфические. Подробнее можно почитать в официальной документации Android.

androidпрограммированиеразработка под андроидинструменты разработчика
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!