Ресурсы и изменения конфигурации
Ресурсы облегчают локализацию. Например, можно работать со строковым значением, которое изменяется в зависимости от языковой локали пользователя. Ресурсы Android обобщают эту идею на любую конфигурацию устройства, где язык является лишь одним из параметров конфигурации. Другим примером переменной конфигурации является поворот устройства из вертикального в горизонтальное положение. Вертикальное положение называется портретным режимом, а горизонтальное — пейзажным режимом.
Android позволяет выбирать для одного и того же идентификатора ресурса различные наборы компоновок в зависимости от режима компоновки. Это делается с помощью различных каталогов для каждой конфигурации. Пример показан в листинге 3.36.
Листинг 3.36. Альтернативные каталоги ресурсов
\res\layout\main layout.xml \res\layout-port\main layout.xml \res\layout-land\main layout.xml
Здесь указаны три отдельных файла компоновок, но в файле R.java для них генерируется лишь один идентификатор компоновки. Этот идентификатор имеет следующий вид:
R.layout.main layout
При выборке компоновки, соответствующей данному идентификатору компоновки, будет получена как раз компоновка, нужная для данного устройства.
В этом примере расширения в имени каталога -port и -land называются квалификаторами конфигурации (configuration qualifier). Такие квалификаторы не чувствительны к регистру символов и отделяются от имени каталога ресурса дефисом. Ресурсы, описанные в уточненных подобным образом каталогах конфигураций, называются альтернативными ресурсами, а ресурсы в ресурсных каталогах без квалификаторов — ресурсами по умолчанию.
Ниже перечислено большинство квалификаторов конфигурации. Обратите внимание, что с появлением более новых API-интерфейсов могут быть добавлены новые квалификаторы. Актуальный набор квалификаторов ресурсов доступен по URL-адресу, указанному в разделе “Ссылки”.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.