мобильные ОС   ОС Андроид   ОС Windows   к экономической информатике   ТПОИ  

ОСВМ. Операционная система Android корпорации Google

Draw 9-patch

Утилита Draw 9-patch находится в папке /tools (файл draw9patch.bat).

Утилита работает с png-файлами и сохраняет в формате .9.png - растровые изображения формата nine-patch.

NinePatch - разновидность PNG-файлов, которые содержат рамку толщиной в один пиксел. Данная рамка описывает область, которая может растягиваться при изменении размеров изображения. Чтобы создать ресурс NinePatch, нарисуйте по его левому и верхнему краям изображения черные полоски толщиной в один пиксел, описывающие растягиваемый участок. Части рисунка, не отмеченные подобным образом, останутся прежними; изменения размеров изображения будут пропорционально влиять на относительные размеры помеченных участков. С помощью данного редактора не получится нарисовать кота, программа создана для других целей.

Идентификатор ресурсов для NinePatch - это имя файла без окончания .9.png.

Название 9-patch происходит от сетки 3х3, которая условно разбивает изображение на 9 частей. У изображения по краям есть прозрачные полосы шириной в один пиксель. Закрашивая участок этой полосы, мы даём понять, как можно масштабировать изображение. Главное в готовом изображение - область контента и растягиваемая область.

Пример

Предположим, есть картинка

Откроем приложение и загрузим картинку (File -> open 9-patch).

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

Чтобы стереть нарисованное нужно удерживать клавишу Shift.

Верхняя и левая часть рамки задают масштабируемые области, правая и нижняя - область отображения контента. На выходе мы должны получить примерно такое изображение:

Draw 9-patch

Сохраните изображение с правильным расширением.

Поместите изображение в папку res/drawable вашего проекта. Путь к файлу будет таким: res\drawable\nine_patch_button.9.png.

Код для кнопки в разметке:


<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/nine_patch_button"
    android:text="Я кнопка">
</Button>

В зависимости от размеров экранов на разных устройствах, кнопка будет корректно масштабироваться.

Кнопка в виде стрелки

Также можно создать кнопку в виде стрелки.

Скачать проект

Дополнительное чтение

Страница документации: http://developer.android.com/intl/ru/tools/help/draw9patch.html
Использование растровых изображений nine-patch (рус.)
Advanced 9Patch drawing in android | Hello Android
Создаем кастомную кнопку с помощью 9-patch и state list
Улучшенный 9-patch редактор
Android Asset Studio - Simple Nine-patch Generator
Android button в виде стрелки
9patch images in Android | Dibbus.com
Apple look on Android, the horror! | Dibbus.com
A simple guide to 9-patch for Android UI

мобильные ОС   ОС Андроид   ОС Windows   к экономической информатике   ТПОИ  

Знаете ли Вы, как разрешается парадокс Ольберса?
(Фотометрический парадокс, парадокс Ольберса - это один из парадоксов космологии, заключающийся в том, что во Вселенной, равномерно заполненной звёздами, яркость неба (в том числе ночного) должна быть примерно равна яркости солнечного диска. Это должно иметь место потому, что по любому направлению неба луч зрения рано или поздно упрется в поверхность звезды.
Иными словами парадос Ольберса заключается в том, что если Вселенная бесконечна, то черного неба мы не увидим, так как излучение дальних звезд будет суммироваться с излучением ближних, и небо должно иметь среднюю температуру фотосфер звезд. При поглощении света межзвездным веществом, оно будет разогреваться до температуры звездных фотосфер и излучать также ярко, как звезды. Однако в дело вступает явление "усталости света", открытое Эдвином Хабблом, который показал, что чем дальше от нас расположена галактика, тем больше становится красным свет ее излучения, то есть фотоны как бы "устают", отдают свою энергию межзвездной среде. На очень больших расстояниях галактики видны только в радиодиапазоне, так как их свет вовсе потерял энергию идя через бескрайние просторы Вселенной. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution