мобильные ОС   ОС Андроид   ОС 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   к экономической информатике   ТПОИ  

Знаете ли Вы, что защищённый режим компьютера, разработан фирмой DEC и заключается в том, что программист и разрабатываемые им программы используют логическое адресное пространство, размер которого может быть намного больше, чем объем ОЗУ. Логический адрес преобразуется в физический адрес автоматически с помощью схемы управления памятью (MMU). При этом содержимое сегментного регистра не связано напрямую с физическим адресом, а является номером сегмента в соответствующей таблице. Благодаря защищённому режиму, в памяти может храниться только та часть программы, которая необходима в данный момент, а остальная часть может храниться во внешней памяти (например, на жёстком диске). В случае обращения к той части программы, которой нет в памяти в данный момент, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объёма имеющейся памяти, и пользователю кажется, что он работает с большей памятью, чем на самом деле.

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

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


Рыцари теории эфира
 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