2013-11-06 6 views
1

Недавно я начал программировать приложение для Android, и в настоящее время я застрял в одном вопросе.Идентификатор ресурса для Android

Ресурсы, которые у меня есть в моем проекте, находятся в одном пространстве имен. Имена, которые я использовал для элементов, которые у меня есть, в strings.xml, например, я не могу использовать снова в say my_strings.xml.

Я первоначально надеялся, что я достигаю строки в strings.xml через @strings/myString и те, в my_strings.xml через @my_strings/myString.

Есть ли способ достичь того, что я хотел бы иметь?

ответ

1

Да, есть способ! Но это зависит от того, что вы намереваетесь изменить. Android имеет полномасштабную логику управления ресурсами. Итак, если, скажем, строки в values/strings являются английскими, но вы также хотите предоставить немецкие строки, просто создайте еще одну папку values-de и поместите немецкие строки с тем же идентификатором внутри. В зависимости от системного языка Android выбирает правильные.

Чтобы получить обзор того, что возможно, посмотрите here.

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

Последнее примечание: имя файла, в которое вы положили значения, не имеет отношения к системе. Вы можете смешивать строки, цвета, размеры, массивы и стили в одном файле с именем foobar.xml, если файл находится внутри папки value-XXX!

+0

Благодарим вас за подробный ответ. Это очень помогло. Теперь я понимаю возможности и ограничения управления ресурсами. – dan12345

Смежные вопросы