是否有重构工具来提取颜色作为资源

时间:2018-01-13 10:26:03

标签: java android colors refactoring

我目前将颜色定义为常量,例如:

public static final int BG_COLOR = Color.parseColor("#262525");

我想改善我的生活,并在colors.xml文件中定义所有颜色,例如:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="bgcolor">#3F51B5</color>
    </resources>

只需点击一下,是否有一个简单的重构工具?

只是为了澄清:我确实知道资源文件是如何工作的,我现在也是如何进行编码的。因此,这不是建议的重复。我要问的是,是否有一个简单的重构工具将我的类文件中定义为常量的颜色转换为我的xml文件中的颜色。

现在,如果我要更改它,我会将颜色添加到xml中,浏览我的所有代码,查看颜色的使用位置并更改我的代码。这很好,这很有效,我知道如何做到这一点。问题是,这是一个手动过程,特别是当使用许多不同的对象并且使用了许多不同的颜色时。

因此,我想知道是否有一种更简单的方法可以做到这一点,这是一种为我工作的重构工具。我正在寻找类似于您在Android Studio中使用字符串在XML文件中可以执行的操作。在这种情况下,如果您对字符串进行硬编码,则可以选择使用“提取字符串资源”选项将其移动到strings.xml文件。

2 个答案:

答案 0 :(得分:-1)

请参阅this link所有材质设计颜色写为资源!您可以复制所有颜色并保存到res / colors.xml并使用每个项目。

答案 1 :(得分:-1)

在布局colors.xml中定义颜色后,使用android:textColor="@color/bgcolor"