在我的Android App Project的assets文件夹中,我存储了描述游戏中操作的自定义XML文件.由于它们稍微复杂一些,因此不能直接编写为Android资源.
更新:我现在将自定义(复杂)XML文件存储在res / xml文件夹中.
简单示例:
1
Hello! How are you?
我想要的是利用Android String资源的方便优势进行语言本地化.在上面的例子中,我想保存你好!你好吗?在我的res / values / strings.xml中,然后以某种方式引用它:
@string/dialog_1_text
我不想创建不同的语言res / xml文件夹,我复制所有xml文件并完全翻译它们.我只想要翻译部分内容.通过引用String资源轻松实现.
更新2:我现在发现从Resource.getXml()获得的XMLParser有一个名为getAttributeResourceValue()的方法,它将randomAtt =“@ string / random_string”之类的属性自动转换为实际的资源ID.
但是,在XML文件中,仍然没有明确的依赖关系,并且在放入无效资源时没有预览字符串或警告.但是 – 因为甚至有一种方法 – 我坚信可以让验证器只允许某些自定义属性中的字符串资源.
解决方法:
好的,经过过去两个小时的大量研究,我终于找到了一个非常好的解决方案.我已经看到一些线程提出了非常相似的问题 – 这就是为什么我确信这个答案可能会在将来帮助一些程序员.
要求:
我的任务要求如下:使用我自己的架构在自定义XML文件中引用字符串资源,存储在res / xml目录中. Android Studio的XML Validator应自动将其检测为String资源,在无效时打印警告 – 并在有效资源时预览实际的Str