覆盖库中的资源 android
Override resources in library android
我正在使用我自己的图书馆。在这个库中我定义了一些资源:
colors.xml
(图书馆)
<color name="colorPrimary">#000000</color>
在我的应用程序中(使用上述库)。我想覆盖原色。
colors.xml
(应用程序)
<color name="colorPrimary">#ffffff</color>
我实际上想覆盖该属性,以便库(和我的应用程序)使用覆盖的属性,而不是库中声明的属性。它工作正常,但 Android Studio 一直大喊:
Overriding @color/colorPrimary which is marked as private in my_lib. If deliberate, use tools:override="true", otherwise pick a different name". That makes me think that this is not a good approach.
我也尝试将tools:override="true"
添加到资源中:
<resources xmlns:tools="http://schemas.android.com/tools"
tools:override="true">
但警告仍然存在。
我这样做有什么问题吗?。我无法选择其他名称,因为我希望库使用覆盖的值。
我正在使用 Android Studio 2.1.1
和 gradle 2.1.0
版本。
谢谢。
将 tools:override
移动到 color
标签。
这没有错。 Android Studio 只是警告你,以防它不是故意的。
如果您在出现警告的行上按 alt-enter,AS 会为您插入覆盖属性并将其放在正确的位置。
我正在使用我自己的图书馆。在这个库中我定义了一些资源:
colors.xml
(图书馆)
<color name="colorPrimary">#000000</color>
在我的应用程序中(使用上述库)。我想覆盖原色。
colors.xml
(应用程序)
<color name="colorPrimary">#ffffff</color>
我实际上想覆盖该属性,以便库(和我的应用程序)使用覆盖的属性,而不是库中声明的属性。它工作正常,但 Android Studio 一直大喊:
Overriding @color/colorPrimary which is marked as private in my_lib. If deliberate, use tools:override="true", otherwise pick a different name". That makes me think that this is not a good approach.
我也尝试将tools:override="true"
添加到资源中:
<resources xmlns:tools="http://schemas.android.com/tools"
tools:override="true">
但警告仍然存在。
我这样做有什么问题吗?。我无法选择其他名称,因为我希望库使用覆盖的值。
我正在使用 Android Studio 2.1.1
和 gradle 2.1.0
版本。
谢谢。
将 tools:override
移动到 color
标签。
这没有错。 Android Studio 只是警告你,以防它不是故意的。
如果您在出现警告的行上按 alt-enter,AS 会为您插入覆盖属性并将其放在正确的位置。