Главная » Разработка для Android » Создание простых значений

0

Поддерживаются простые значения — строки, цвета, размеры и массивы (строковые и целочисленные), эти данные хранятся в формате XML внутри каталога res/values.

Используя теги, указывайте  типы хранимых  значений,  как показано в листинге 3.1 на примере простого XML-файла.

Листинг 3.1. Простые значения  в формате XML

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">To Do List</string>

<color name="app_background">#FF0000FF</color>

<dimen name="default_border">5px</dimen>

<array name="string_array">

<item>Item 1</item>

<item>Item 2</item>

<item>Item 3</item>

</array>

<array name="integer_array">

<item>3</item>

<item>2</item>

<item>1</item>

</array>

</resources>

В этом примере содержатся  все доступные типы простых значений. Каждый тип ресурсов принято хранить в отдельном файле, например файл res/values/strings.xml включает только строковые константы.

В следующих  разделах  подробно рассматривается процесс описания простых ресурсов.

Строки

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

Строковые ресурсы обозначаются тегом <string>, как показано в сле- дующем фрагменте:

<string name="stop_message">Stop.</string>

Android поддерживает простую текстовую разметку, поэтому вы можете использовать теги <b>, <i>и <u> из языка HTML, чтобы выделять части тек- ста полужирным, наклонным  или подчеркнутым стилем соответственно:

<string name="stop_message"><b>Stop.</b></string>

Можно  использовать строковые  ресурсы  в качестве  входящих  пара- метров для метода String.format. Однако  String.format не поддерживает стилизацию текста, описанную  выше. Чтобы  форматировать строку, при создании ресурса экранируйте HTML-теги:

<string name="stop_message">&lt;b>Stop&lt;/b>. %1$s</string>

Внутри  кода используйте метод Html.fromHtml, чтобы преобразовать эту строку обратно в форматированную последовательность символов:

String rString = getString(R.string.stop_message);

String fString = String.format(rString, "Collaborate and listen."); CharSequence styledString = Html.fromHtml(fString);

Цвета

Для описания цветовых ресурсов применяется тег <color>. Указывайте цвет с помощью символа #, за которым следуют альфа-канал (необязатель- но) и значения  для красного, зеленого и синего цветов в виде одного или двух шестнадцатеричных чисел. Поддерживаются следующие форматы записи:

#RGB;

#RRGGBB;

#ARGB;

#AARRGGBB.

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

<color name="opaque_blue">#00F</color>

<color name="transparent_green">#7700FF00</color>

Размеры

Ссылки на размеры чаще всего встречаются внутри ресурсов со стилями и разметкой. Они пригодятся при создании констант — толщины рамки или высоты шрифта.

Чтобы  описать ресурс, используйте тег <dimen>, указывая масштаб и один из видов размерности:

px (экранные пикселы);

in (физические дюймы);

pt (физические точки);

mm (физические миллиметры);

dp (аппаратно-независимые пикселы, которые вычисляются относи- тельно экрана с плотностью 160 dpi);

sp (пикселы,  не зависящие от масштаба).

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

В следующем примере указаны размеры для большого шрифта и стан- дартной рамки:

<dimen name="standard_border">5dp</dimen>

<dimen name="large_font_size">16sp</dimen>

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии