我最近开始编写一个 Android 应用程序,目前遇到一个问题。
我在项目中拥有的资源都在同一个命名空间中。我在strings.xml中用于元素的名称,例如,我不能在my_strings.xml中再次使用。
我原本希望我通过访问 strings.xml 中的字符串和@strings/myString
my_strings.xml中的字符串@my_strings/myString
。
有什么方法可以实现我想要的吗?
我最近开始编写一个 Android 应用程序,目前遇到一个问题。
我在项目中拥有的资源都在同一个命名空间中。我在strings.xml中用于元素的名称,例如,我不能在my_strings.xml中再次使用。
我原本希望我通过访问 strings.xml 中的字符串和@strings/myString
my_strings.xml中的字符串@my_strings/myString
。
有什么方法可以实现我想要的吗?
是的,有办法!但这取决于您打算做出什么改变。Android 有一个成熟的资源管理逻辑。因此,如果说 Strings invalues/strings
是英文,但您也想提供德文字符串,只需创建另一个values-de
文件夹并将具有相同标识符的德文字符串放入其中。根据系统语言,Android 会选择正确的语言。
要了解可能的情况,请查看此处。
它告诉您所有可能的值后缀组合。如果您无法使用该机制归档您想要的内容,则只能为字符串的标识符添加前缀。IEmy_string_key
和string_key
.
最后一点:您放入值的文件名与系统完全无关。foobar.xml
只要文件位于文件夹中,您就可以在一个名为的文件中混合字符串、颜色、尺寸、数组和样式value-XXX
!