Ресурсы Android
В этой статье представлена концепция ресурсов Android в Xamarin.Android и описана их использование. В нем описывается, как использовать ресурсы в приложении Android для поддержки локализации приложений и нескольких устройств, включая различные размеры экрана и плотности экрана.
Обзор
Приложение Android редко является исходным кодом. Часто существует множество других файлов, составляющих приложение: видео, изображения, шрифты и аудиофайлы только для названия нескольких. В совокупности эти файлы, не являющиеся исходным кодом, называются ресурсами и компилируются (вместе с исходным кодом) во время процесса сборки и упаковываются в виде APK для распространения и установки на устройствах:
Ресурсы предлагают несколько преимуществ для приложения Android:
Разделение кода — отделяет исходный код от изображений, строк, меню, анимации, цветов и т. д. Так как такие ресурсы могут значительно помочь при локализации.
Назначение нескольких устройств — обеспечивает более простую поддержку различных конфигураций устройств без изменений кода.
Проверка во время компиляции— ресурсы являются статическими и скомпилированы в приложение. Это позволяет использовать ресурсы проверка во время компиляции, когда будет легко перехватывать и исправлять ошибки, а не во время выполнения, когда труднее найти и дорогостоящие исправления.
При запуске нового проекта Xamarin.Android создается специальный каталог с именем Resources, а также некоторые подкаталогы:
На приведенном выше изображении ресурсы приложения упорядочены в соответствии с их типом в эти подкаталогы: изображения будут идти в каталоге с возможностью рисования; представления идут в подкаталоге макета и т. д.
Существует два способа доступа к этим ресурсам в приложении Xamarin.Android: программно в коде и декларативно в XML с помощью специального синтаксиса XML.
Эти ресурсы называются ресурсами по умолчанию и используются всеми устройствами, если не указано более конкретное совпадение. Кроме того, каждый тип ресурса может дополнительно иметь альтернативные ресурсы , которые Android может использовать для целевых устройств. Например, ресурсы могут быть предоставлены для целевого языкового стандарта пользователя, размера экрана или если устройство поворачивается на 90 градусов от книжного до альбомного и т. д. В каждом из этих случаев Android загружает ресурсы для использования приложением без дополнительных усилий разработчика.
Альтернативные ресурсы задаются путем добавления короткой строки, называемой квалификатором, в конец каталога, владеющего заданным типом ресурсов.
Например, resources/drawable-de укажите изображения для устройств, установленных на немецком языковом стандарте, а ресурсы и рисуемые фре будут содержать изображения для устройств, установленных на французском языковом стандарте. Пример предоставления альтернативных ресурсов можно увидеть на рисунке ниже, где выполняется то же приложение с изменением языкового стандарта устройства:
В этой статье рассматривается использование ресурсов и рассматриваются следующие разделы:
Основы ресурсов Android— программное и декларативное использование ресурсов по умолчанию, добавление таких типов ресурсов, как изображения и шрифты в приложение.
Конкретные конфигурации устройства— поддержка различных разрешений экрана и плотностей в приложении.
Локализация . Использование ресурсов для поддержки различных регионов, которые могут использоваться приложением.