在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作为配置文件格式,并展示一个实用的示例。
290 0
|
9月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
257 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
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配置文件格式
|
XML 开发工具 数据格式
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
219 0
自定义 DSL 流程图(含XML 描述邮件,XML 描述流程图)
|
XML Java Apache
Apache Flink自定义 logback xml配置
Apache Flink自定义 logback xml配置
551 0
|
XML 前端开发 数据格式
自定义MVC引用XML配置文件实现
自定义MVC引用XML配置文件实现
175 0
|
XML 设计模式 前端开发
自定义MVC---引用XML
自定义MVC---引用XML
113 0
|
XML 前端开发 Java
自定义MVC引用XML配置文件实现
自定义MVC引用XML配置文件实现
138 0
|
XML 开发框架 算法
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
333 0
|
XML Java 数据格式
深入理解Spring IOC之扩展篇(一)、自定义xml标签
深入理解Spring IOC之扩展篇(一)、自定义xml标签
277 0

相关课程

更多