Android:针对不同的应用程序风格使用不同的字符串

标签 android string gradle android-studio

我有一个 Android 应用程序,它有 2 种不同的风格/变体。如何为每种口味设置不同的字符串(例如应用程序名称、按钮标签等)? 到目前为止,我所做的确实有效但并不完全符合我的意愿:
我使用 gradle 创建了两种风格。具体来说,我创建了一个 flavor1_res 和一个 flavor2_res 文件夹,并将特定 flavor 的资源放入其中。
具体来说,我在每个文件夹下都放了一个 strings.xml 文件。每个文件包含相同的字符串标签,但字符串的值不同。该应用程序从命令行构建正常(例如使用 gradlew assembleFlavor1),但在 Android Studio 中无法识别我的字符串,并且出现所有这些编译错误。
还有另一种方法吗?如何让 Android Studio 识别这两个 strings.xml 文件? (我已经添加了相应的文件夹作为源文件夹)。

谢谢, 托马斯

最佳答案

您可以像这样在 build.gradle 文件中声明资源字符串:

productFlavors {
    devel {
        resValue 'string', 'fancy_name', 'Development App'
    }
    prod {
        resValue 'string', 'fancy_name', 'Production App'
    }
}

因此,现在根据您正在构建的风格,'fancy_name' 字符串将是 'Development App' 或 'Production App'。我一直在用这个。

关于Android:针对不同的应用程序风格使用不同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425735/

相关文章:

android - AsyncTask 是否存在并发错误?

python - 在每个字符串中标记(分割?)数据集的最佳方法

java - Android Studio 波斯语字符串

android - Gradle 不会将 android apk 上传到 nexus

java - 在 build.gradle 中为 Selenium 测试程序定义 WebDriver 路径,而不是以编程方式设置系统属性

java - 使用.class文件而不是android gradle中的.java文件构建sources.jar

Android FragmentPagerAdapter 获取上下文

android - 如何将现有项目从另一个文件夹导入到 Android studio 中的工作区

java - 切换到 Activity 时出现黑屏

c - 如何使用 if else 进行字符串比较?