我最近开始编写 Android 应用程序,目前遇到一个问题。
我项目中的资源都在同一个命名空间中。我在 strings.xml 中用于元素的名称,例如,我不能在 my_strings.xml 中再次使用。
我本来希望通过@strings/myString
访问strings.xml中的字符串,通过my_strings.xml访问@my_strings/myString
。
有什么办法可以实现我想要的吗?
最佳答案
是的,有办法!但这取决于您打算有所作为。 Android 有一个成熟的资源管理逻辑。因此,如果说 values/strings
中的字符串是英语,但您也想提供德语字符串,只需创建另一个 values-de
文件夹并将德语字符串放入相同的文件夹里面的标识符。根据系统语言,Android 会选择正确的语言。
要获得可能的概述,请查看 here .
它告诉您值后缀的所有可能组合。如果您不能使用该机制存档您想要的内容,您只能在字符串的标识符前加上前缀。 IE。 my_string_key
和 string_key
。
最后一点:您放置值的文件名与系统完全无关。您可以在一个名为 foobar.xml
的文件中混合使用字符串、颜色、维度、数组和样式,只要该文件位于 value-XXX
文件夹中!
关于java - 安卓资源命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19817329/