我使用自己的图书馆。在这个库中我定义了一些资源:
colors.xml
(图书馆)
<color name="colorPrimary">#000000</color>
在我的应用中(使用上述库)。我想覆盖那种主色。
colors.xml
(app)
<color name="colorPrimary">#ffffff</color>
我实际上想要覆盖该属性,以便库(和我的应用程序)使用覆盖的属性,而不是库中声明的属性。它工作正常,但Android Studio一直大喊:
重写@ color / colorPrimary,在my_lib中标记为私有。如果有意,请使用工具:override =&#34; true&#34;,否则选择不同的名称&#34;。这让我觉得这不是一个好方法。
我还尝试将tools:override="true"
添加到资源中:
<resources xmlns:tools="http://schemas.android.com/tools"
tools:override="true">
但警告仍在那里。
我在做什么有什么不对吗?我不能选择其他名称,因为我希望库使用覆盖的值。
我正在使用Android Studio 2.1.1
和gradle 2.1.0
版本。
感谢。
答案 0 :(得分:16)
将tools:override
移至color
标记。
这没有什么不妥。 Android Studio只是警告你,因为它不是故意的。
如果您在带有警告的行上按alt-enter,AS将提供为您插入覆盖属性并将其放在正确的位置。