在XML drawable中引用自定义颜色

简介:

=

先看一下一个xml drawable文件,这是一个button的样式。

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#FB7C16" />
            <stroke
                android:width="1dp"
                android:color="#FB7C16" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
    <item>
        <shape>
            <solid
                android:color="#1FAC75"/>
            <stroke
                android:width="1.0dp"
                android:color="#1FAC75" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
</selector>
复制代码

可以看到这里好几处用到了颜色,但是都是直接指定颜色值,如果我想引用一个外部颜色,比如定义在values/refs里面的。那该怎么办呢?

先在values/refs.xml文件里面定义颜色,如下:

复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <drawable name="whitecolor">#FFFFFF</drawable>
    <drawable name="blackcolor">#000000</drawable>
    <drawable name="graycolor">#aaaaaa</drawable>
    <drawable name="drawerdivider">#FFFFFF</drawable>
    <!--<drawable name="theme_color">#1FAC75</drawable>-->
    <drawable name="theme_color">#FF3300</drawable>
    <drawable name="search_page_color">#60D1A3</drawable>
    <drawable name="grid_background">#FFFDF1</drawable>
    <!--<color name="theme_color">#1FAC75</color>-->
    <color name="theme_color">#FF3300</color>
</resources>
复制代码

然后在drawable xml文件里面引用颜色即可,如下:

复制代码
    </item>
    <item>
        <shape>
            <solid
                android:color="@color/theme_color"/>
            <stroke
                android:width="1.0dp"
                android:color="@color/theme_color" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
</selector>
复制代码

 

本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/p/4704863.html,如需转载请自行联系原作者

相关文章
|
XML 存储 JSON
使用自定义XML配置文件在.NET桌面程序中保存设置
本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外,我们还将探讨其他常见的配置文件格式,如JSON、INI和YAML,以及它们的优缺点和相关的NuGet类库。最后,我们将重点介绍我们为何选择XML作为配置文件格式,并展示一个实用的示例。
142 0
|
12天前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
6月前
|
XML 开发工具 数据格式
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
51 0
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
|
8月前
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
361 0
|
8月前
|
XML 前端开发 数据格式
自定义MVC引用XML配置文件实现
自定义MVC引用XML配置文件实现
71 0
|
XML 设计模式 前端开发
自定义MVC---引用XML
自定义MVC---引用XML
54 0
|
XML 前端开发 Java
自定义MVC引用XML配置文件实现
自定义MVC引用XML配置文件实现
46 0
|
XML 开发框架 算法
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
149 0
|
XML Java 数据格式
深入理解Spring IOC之扩展篇(一)、自定义xml标签
深入理解Spring IOC之扩展篇(一)、自定义xml标签
115 0
|
Java 数据库 Spring
MyBatis-Plus——Mapper接口中使用自定义的CRUD方法及Mapper.xml映射文件
MyBatis-Plus——Mapper接口中使用自定义的CRUD方法及Mapper.xml映射文件
1385 0
MyBatis-Plus——Mapper接口中使用自定义的CRUD方法及Mapper.xml映射文件