我最近开始编写一个Android应用程序,目前我遇到了一个问题。
我项目中的资源都在同一名称空间中。我用于 strings.xml 中的元素的名称,例如,我不能再使用 my_strings.xml 。
我原本希望通过@strings/myString
访问 strings.xml 中的字符串,并通过@my_strings/myString
访问 my_strings.xml 中的字符串。
有没有办法达到我想要的目标?
答案 0 :(得分:2)
是的,有办法!但这取决于你打算做出什么改变。 Android拥有全面的资源管理逻辑。因此,如果values/strings
中的字符串是英语,但您也想提供德语字符串,只需创建另一个values-de
文件夹并将德语字符串与相同的标识符放在里面。根据系统语言,Android会选择正确的语言。
要了解可能的内容概览here。
它告诉你所有可能的值组合 - 后缀。如果您无法使用该机制存档所需内容,则只能为字符串的标识符添加前缀。 I.E. my_string_key
和string_key
。
最后一个注意:放置值的文件名与系统无关。只要文件位于foobar.xml
文件夹中,您就可以在一个名为value-XXX
的文件中混合使用字符串,颜色,尺寸,数组和样式!