在Android资源中保持字符串值的分隔

在Android资源中保持字符串值的分隔,android,resources,Android,Resources,正如您所知,您可以在res/values中编写所需的任何资源。 我为我使用的每个gui/活动创建了一个xml文件。下面是一个例子: strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">This is home!</string> <string name="app_name">Hattrick4Manage

正如您所知,您可以在
res/values
中编写所需的任何资源。 我为我使用的每个gui/活动创建了一个xml文件。下面是一个例子:

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">This is home!</string>
    <string name="app_name">Hattrick4Manager</string>
    <string name="oauth_button">Authorize me!</string>
    <string name="download_button">Syncronize</string>
    <string name="oauth_name">Authorization</string>
</resources>

我的问题是,像这样,我基本上必须为我制作的每个GUI添加前缀。我更喜欢做以下事情:

R.string.update-ui.done

可能吗?

您可以创建任意数量的资源文件,但不能基于文件名执行嵌套名称引用:Android
aapt
工具不支持生成的
R
对象上的任意嵌套对象

您可以在
updateui.xml
中执行类似的操作:

<resources>
        <string name="update_ui_inizio_download">Update Started...</string>
        <string name="update_ui_fine_download">Update Completed...</string>
</resources>

参考文件内容

没有答案,只是一个问题。如果多个活动中存在“完成”文本,该怎么办?你想把它放到几十个文件里吗?那么译文呢?我不喜欢你的方法。完成就是完成。给它命名为done,并在一个central strings.xml中使用它。就我的2美分。好吧,“完成”不能有不同的语义,因为这个词很清楚,但我想表达“完成”的方式可能会有所不同。在我的情况下,我在我的更新ui中有“完成”->“更新完成”,我也可以在竞技场ui中有“完成”->“建造座椅完成”,我不理解这一点。文本是“完成”的,对吗?在这两项活动上?有什么问题吗?如果需要创建不同的语义,请使用name=“updatecompleted”和text=“Done”以及name=“buildingseatscompleted”和text“Done”。关于使用什么标签的讨论由来已久。我更喜欢使用靠近文本的标签,而不是靠近活动/包/…很抱歉,我想的是标签“完成”,而不是其中的文本。当然,我不想这样做是为了冗余,我想这样做是为了在编程时保持标签分离。对我来说,更自然的做法是编写R.string.update-ui.done而不是R.string.update\u ui\u done只是添加一些东西。如果我有一个标签done=“done”,那么它将位于R.string.general-ui.done下,我不会重复两次。
R.string.hello
R.string.update-ui.done
<resources>
        <string name="update_ui_inizio_download">Update Started...</string>
        <string name="update_ui_fine_download">Update Completed...</string>
</resources>
R.string.update_ui_inizio_download