Файл .9.png (Nine-patch): что это такое, для чего он используется и как его использовать на Android

  • Файл .9.png — это специальный PNG-файл, позволяющий масштабировать изображения без искажений на Android.
  • Используйте черные направляющие толщиной 1 пиксель по краям, чтобы определить масштабируемые и содержащие контент области.
  • Облегчает создание адаптивных кнопок, фонов и визуальных элементов в мобильных приложениях.

9-патч png

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

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

Что такое файл .9.png или изображение Nine-patch?

Un файл .9.png является изображение в специальном формате PNG в основном используется при разработке приложений для Android. Эти файлы называются Девятипатчовый (или «девять заплат» на испанском языке) позволяют разумно масштабировать изображение без искажений и потери качества, адаптируясь к пространству, которое оно занимает в интерфейсе, будь то кнопка, фон или текстовое поле.

Что действительно отличает изображение Nine-patch от традиционного PNG, так это то, что включает в себя специальную направляющую, состоящую из дополнительной рамки шириной в 1 пиксель вокруг изображения. Эта граница используется для обозначения того, какие части изображения можно растягивать, а какие следует оставить нетронутыми, а также для определения области, где можно разместить контент, такой как текст или значки. Android распознает эти файлы по их определенному расширению: имя.9.png.

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

Как работает система Nine-patch?

9.png

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

границы или направляющие Девяти-патча — это линии 1 пиксель чистого черного цвета (#000000) которые рисуются на верхнем, нижнем, левом и правом полях изображения. Каждая сторона имеет определенную функцию:

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

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

Преимущества изображений Nine-patch по сравнению с обычными PNG-файлами

Существует несколько причин, по которым использование Девятипатчовый При разработке интерфейсов настоятельно рекомендуется:

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

Работа с файлами .9.png — наиболее эффективный и профессиональный способ гарантировать, что ваш интерфейс будет выглядеть идеально на любом экране и в любых обстоятельствах. Узнайте больше о тенденциях дизайна Android в этой статье..

Внутренняя структура файла .9.png

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

  • Граница толщиной 1 пиксель полностью прозрачная (кроме черных направляющих): Внешний край изображения должен быть прозрачным, за исключением линий, обозначающих масштабируемую и контентную области.
  • Сплошные черные направляющие без сглаживания: Для направляющих подходит только чисто черный цвет. Если пиксели отличаются, изображение будет обработано неправильно.
  • Полностью прозрачные углы: Четыре угла изображения должны быть невидимы, поскольку они никогда не масштабируются и не отображаются, что позволяет избежать артефактов и ошибок.
  • Специальные размеры: Если исходное изображение имеет размер 48×48, то результирующий файл .9.png должен иметь размер 50×50 пикселей, чтобы оставить место для дополнительной границы.

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

Для чего на самом деле используются файлы .9.png?

Файлы с девятью исправлениями Они в основном используются для:

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

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

Как создать изображение из девяти участков шаг за шагом

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

  1. Подготовьте базовое изображение в формате PNG с соответствующим размером и дизайном. Не забудьте, что при разработке дизайна следует использовать только ту часть контента, которую вы хотите сохранить фиксированной (углы, края, особые детали).
  2. Откройте официальный инструмент Draw 9-patch который включен в Android SDK. Обычно вы можете найти его в папке /инструменты/ и его имя обычно «draw9patch» (или draw9patch.bat в Windows).
  3. Перетащите изображение. в розыгрыше 9-патча. Программа автоматически добавит необходимую границу в 1 пиксель и отобразит предварительный просмотр масштабированного результата в реальном времени.
  4. Нарисуйте черные направляющие наведите указатель мыши на верхний, левый, правый и нижний края, чтобы точно отметить, какие части следует масштабировать и где следует разместить содержимое.
  5. Сохранить изображение используя формат «name.9.png» в папке «drawable» вашего проекта Android.
  6. Проверьте внешний вид изменение размера компонента или вставка длинных текстов, чтобы изображение хорошо вписывалось и не искажалось.

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

Как использовать файлы .9.png в вашем проекте Android

Использовать изображения Nine-patch в проекте Android очень просто:

  • Скопируйте файл .9.png в папку выдвижной структуры вашего проекта.
  • В XML-макете представления, где вы хотите его использовать, назначьте свойство android:background=»@drawable/image_name» к нужному компоненту (например, кнопке, текстовому полю и т. д.).
  • Пример использования в кнопке:
  

Android автоматически определит изображение как Nine-patch и адаптирует визуальный элемент к указанному вами размеру и содержанию.

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

Можно ли использовать Nine-patch вне Android?

Хотя метод Nine-patch изначально был разработан и оптимизирован для Android, его можно применять и на других платформах, которые управляют масштабируемыми изображениями. Например, в фреймворках, которые поддерживают подобные масштабируемые изображения.

Что такое Google Material 3 Expressive?
Теме статьи:
Material 3 Expressive: визуальная и персональная революция в опыте Google