覆盖库android中的资源

覆盖库android中的资源

本文介绍了覆盖库android中的资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用我自己的图书馆.在这个库中,我定义了一些资源:

I'm using my own library. In this library I defined some resources:

colors.xml(库)

<color name="colorPrimary">#000000</color>

在我的应用程序中(使用上述库).我想覆盖那个颜色原色.

In my app (that uses the above library). I want to override that color primary.

colors.xml (app)

<color name="colorPrimary">#ffffff</color>

我实际上想覆盖该属性,以便库(和我的应用程序)使用覆盖的属性,而不是库中声明的属性.它工作正常,但 Android Studio 一直在喊:

I actually want to override that attribute so that the library (and my app) use the overrided one, not the declared one from library. It works fine but Android Studio keeps yelling out that:

覆盖在 my_lib 中标记为私有的 @color/colorPrimary.如果有意,请使用 tools:override="true",否则选择不同的名称.这让我觉得这不是一个好方法.

我也尝试将 tools:override="true" 添加到资源中:

I also try to add tools:override="true" to the resource:

<resources xmlns:tools="http://schemas.android.com/tools"
       tools:override="true">

但警告仍然存在.

我的做法有问题吗?我无法选择其他名称,因为我希望库使用覆盖的值.

Is there any wrong with what I'm doing?. I can not pick another name because I want the library to use the overrided values.

我使用的是 Android Studio 2.1.1gradle 2.1.0 版本.

I'm using Android Studio 2.1.1 and gradle 2.1.0 version.

谢谢.

推荐答案

tools:override 移动到 color 标签.

Move the tools:override to the color tag.

这没有什么问题.Android Studio 只是警告您,以防它不是故意的.

There's nothing wrong with this. Android Studio is just warning you, incase it wasn't deliberate.

如果您在出现警告的行上按 alt-enter,AS 将提供为您插入覆盖属性并将其放在正确的位置.

If you press alt-enter on the line with the warning, AS will offer to insert the override attribute for you and will put it in the correct place.

这篇关于覆盖库android中的资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 08:06