android - Android Studio多个项目样式问题

标签 android eclipse maven android-studio gradle

我有一个使用另一个库的Android项目。到目前为止,我一直在使用Maven进行Eclipse开发,现在我想迁移到Android Studio和Gradle。
问题是我曾经在Eclipse中执行以下操作:

图书馆项目:

<style name="some_theme">
    <item name="android:textColor">#00FF00</item>
</style>

然后在我的主要项目中:
<style name="some_theme">
    <item name="android:typeface">monospace</item>
</style>

因此,如果主题名称在Eclipse中相同,那么我会得到两个主题中都定义的内容,但是在Android Studio中,我只会得到主项目中的内容

有人以前遇到过此类问题吗?有人知道解决方法吗? (不只是复制库项目中的所有内容...)

问候

约瑟

最佳答案

那不行当在两个不同的位置定义两个具有相同名称的样式时,您将遇到命名冲突。没有记录的样式资源合并功能。它在带有ADT的Eclipse中工作的事实可能是偶然的。

正确的方法是在库中定义一种样式,并在应用程序中从该样式继承。

例如,在您的图书馆项目中:

<style name="SomeThemeBase">
    <item name="android:textColor">#00FF00</item>
</style>

然后在您的应用程序项目中:
<style name="AppTheme" parent="SomeThemeBase">
    <item name="android:typeface">monospace</item>
</style>

这样,您就不会产生命名冲突,但是应用程序的主题仍然继承您在基本主题上定义的属性。

关于android - Android Studio多个项目样式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541825/

相关文章:

python - 在Eclipse Pydev控制台和Idle中打印Unicode

java - 如何在eclipse中执行可运行的jar文件

java - Maven 正在拉取旧版本的 HTMLUnit,即使我指定了最新的(?)

android - Retrofit2 - 406 Not Acceptable

java - 有没有办法使用 where 条件将 Mediastore 光标设置到 Rowset 中的特定行?

java - 在 TDD 中设计异步方法

android - 如何在 Android 中从字节数组创建 OpenGL 纹理

android - 为什么 ADT Bundle 20140702 中缺少 fragment_main.xml?

java - 编译 javaFX 项目时出现 "class file has wrong version 54.0, should be 52.0"

java - Eclipse 为类练习设置 Maven 项目时出错 : Check $M2_HOME environment variable and mvn script match