На этой странице представлена информация о создании и использовании значков приложений, уникальная для макетов на основе представлений. Для получения более подробной информации о создании значков приложений см. раздел «Создание значков приложений» , где описан рекомендуемый нами фреймворк пользовательского интерфейса.
Создайте значок для панели действий или вкладки.
Используйте Image Asset Studio для создания значков для панели действий и вкладок в макетах на основе представлений.
Значки панели действий — это графические элементы, размещенные на панели действий и представляющие отдельные элементы действий. Дополнительную информацию см. в разделах «Добавление и обработка действий» , «Панель приложения — Material Design » и «Дизайн панели действий» .
Значки вкладок — это графические элементы, используемые для представления отдельных вкладок в многовкладочном интерфейсе. Каждый значок вкладки имеет два состояния: невыбранное и выбранное. Дополнительную информацию см. в разделах «Создание свайп-представлений с вкладками» и «Вкладки — Material Design» .
Image Asset Studio размещает значки в соответствующих местах в каталогах res/drawable-<density>/ .
Мы рекомендуем использовать стиль Material Design для значков панели действий и вкладок, даже если вы поддерживаете более старые версии Android. Используйте appcompat и другие библиотеки поддержки , чтобы адаптировать ваш пользовательский интерфейс в стиле Material Design для более старых версий платформы.
В качестве альтернативы Image Asset Studio вы можете использовать Vector Asset Studio для создания иконок для панелей действий и вкладок. Векторные изображения подходят для простых иконок и могут уменьшить размер вашего приложения.
После открытия Image Asset Studio вы можете добавить панель действий или значок вкладки, выполнив следующие шаги:
- В поле «Тип значка» выберите «Значки панели действий и вкладок» .
Выберите тип актива , а затем укажите его в поле ниже:
В поле «Клипарт» нажмите кнопку.
В диалоговом окне «Выбор значка» выберите значок материала , а затем нажмите кнопку «ОК» .
В поле «Путь» укажите путь и имя файла изображения. Нажмите ... для открытия диалогового окна.
В поле «Текст» введите текстовую строку и выберите шрифт.
Значок отображается в области «Исходные ресурсы» справа и в области предварительного просмотра внизу мастера.
При желании можно изменить название и параметры отображения:
Имя — Если вы не хотите использовать имя по умолчанию, введите новое имя. Если такое имя ресурса уже существует в проекте, как указано в сообщении об ошибке внизу мастера, оно будет перезаписано. Имя может содержать только строчные буквы, символы подчеркивания и цифры.
Обрезка — Чтобы отрегулировать отступ между графическим изображением значка и рамкой в исходном файле, выберите «Да» . Эта операция удаляет прозрачное пространство, сохраняя при этом соотношение сторон. Чтобы оставить исходный файл без изменений, выберите «Нет» .
Отступы — Если вы хотите отрегулировать отступы исходного изображения со всех четырех сторон, переместите ползунок. Выберите значение от -10% до 50%. Если вы также выберете «Обрезка» , обрезка произойдет первой.
Тема оформления — выберите HOLO_LIGHT или HOLO_DARK . Или, чтобы указать цвет в диалоговом окне «Выбор цвета» , выберите CUSTOM , а затем щелкните поле «Пользовательский цвет» .
В Image Asset Studio иконка создается внутри прозрачного квадрата, поэтому по краям остается небольшой отступ. Этот отступ обеспечивает достаточно места для стандартного эффекта тени на иконке.
Нажмите «Далее» .
При желании можно изменить каталог ресурсов:
- Каталог ресурсов — выберите набор исходных ресурсов, куда вы хотите добавить графический ресурс: src/main/res , src/debug/res , src/release/res или пользовательский набор исходных ресурсов. Основной набор исходных ресурсов применяется ко всем вариантам сборки, включая отладочный и релизный. Наборы исходных ресурсов для отладки и релиза переопределяют основной набор и применяются к одной версии сборки. Набор исходных ресурсов для отладки предназначен только для отладки. Чтобы определить новый набор исходных ресурсов, выберите Файл > Структура проекта > приложение > Типы сборки . Например, вы можете определить набор исходных ресурсов для бета-версии и создать версию значка, которая включает текст «BETA» в правом нижнем углу. Для получения дополнительной информации см. раздел «Настройка вариантов сборки ».
В области «Выходные каталоги» отображаются изображения и папки, в которых они будут отображаться в окне «Файлы проекта » окна «Проект» .
Нажмите «Готово» .
Image Asset Studio добавляет изображения в папки drawable для разных плотностей.
Укажите источник изображения в коде.
Обычно вы можете ссылаться на ресурс изображения универсальным способом в своем коде, и при запуске приложения соответствующее изображение будет отображаться автоматически в зависимости от устройства:
В большинстве случаев вы можете ссылаться на ресурсы изображений как
@drawableв XML-коде илиDrawableв Java-коде.Например, следующий XML-код разметки отображает изображение в
ImageView:<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/myimage" />Следующий код на Java извлекает изображение в виде
Drawable:Котлин
val drawable = resources.getDrawable(R.drawable.myimage, theme)
Java
Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.myimage, getTheme());
Метод
getResources()находится в классеContext, который применяется к объектам пользовательского интерфейса, таким как активности, фрагменты, макеты, представления и так далее.Если ваше приложение использует библиотеку поддержки, вы можете ссылаться на ресурс изображения в XML-коде с помощью
app:srcCompat. Например:<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" app:srcCompat="@drawable/myimage" />
Доступ к графическим ресурсам возможен только из основного потока.
После того, как у вас появится ресурс изображения в каталоге res/ вашего проекта, вы можете ссылаться на него из своего Java-кода или XML-макета, используя его идентификатор ресурса. Следующий Java-код устанавливает для ImageView использование ресурса drawable/myimage.png :
Котлин
findViewById<ImageView>(R.id.myimageview).apply { setImageResource(R.drawable.myimage) }
Java
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Дополнительную информацию см. в разделе «Доступ к ресурсам вашего приложения» .