Поиск…


замечания

Файл с 9 патчами - это специально отформатированный файл, так что Android знает, какие области / части изображения могут масштабироваться или не могут быть масштабированы. Это разбивает ваше изображение на сетку 3x3. Углы остаются немасштабированными, стороны масштабируются в одном направлении, а центр масштабируется в обоих измерениях.

как масштабируется изображение с 9 патчами

Изображение Nine Patch (9-Patch) представляет собой растровое изображение, которое имеет ширину одного пикселя вокруг всего изображения. Игнорирование 4 пикселей в углах изображения. Эта граница обеспечивает метаданные для самого растрового изображения. Границы отмечены сплошной черной линией (линиями).

Изображение с .9.png хранится с расширением .9.png .

Верхняя граница указывает области, которые растягиваются горизонтально. Левая граница указывает области, которые растягиваются вертикально.

Нижняя граница указывает на заполнение по горизонтали. Правая рамка указывает на добавление по вертикали.

Границы заполнения обычно используются для определения того, где текст должен быть нарисован.

Существует отличный инструмент, предоставляемый Google, что значительно упрощает создание этих файлов.

Находится в Android SDK: android-sdk\tools\lib\draw9patch.jar

Основные закругленные углы

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

Верхняя граница контролирует горизонтальное растяжение, а левая граница контролирует вертикальное растяжение.

Этот пример создает закругленные углы, подходящие для тоста.

Пример с закругленными углами с 9 патчами

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

Этот пример будет растянут на все комбинации размеров, как показано ниже:

введите описание изображения здесь

Основной счетчик

Spinner можно перераспределить в соответствии с вашими требованиями к стилю с помощью Nine Patch.

В качестве примера см. Этот Девять исправлений:

Пример Spinner Nine Patch

Как вы можете видеть, он имеет 3 чрезвычайно маленьких участка растяжения.

Верхняя граница только слева от значка. Это означает, что я хочу, чтобы левая сторона (полная прозрачность) рисовала, чтобы заполнить вид Spinner до тех пор, пока значок не будет достигнут.

На левой границе отмечены прозрачные сегменты вверху и внизу значка. Это означает, что верхний и нижний будут расширяться до размера представления Spinner . Это приведет к тому, что сам значок будет центрирован по вертикали.

Использование изображения без метаданных Nine Patch:

Spinner Image без Nine Patch

Использование изображения с помощью метаданных Nine Patch:

Spinner Image с Nine Patch

Дополнительные соединительные линии

Изображения с девятью патчами позволяют дополнительно определять линии заполнения в изображении. Проводными линиями являются линии справа и внизу.

Если представление задает изображение с 9 патчами в качестве фона, строки заполнения используются для определения пространства для содержимого View (например, ввода текста в EditText ). Если строки заполнения не определены, вместо них используются левая и верхняя строки.

введите описание изображения здесь

Область содержимого растянутого изображения выглядит следующим образом:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow