定义在XML中的color,可以当作Drawable使用,来填充矩形区域(圆角可以有)。这种Drawable的行为很像是颜色填充。
注意:Color Drawable是一种简单的资源,可以使用name特性来引用其值(不再是XML文件的名)。因此,你可以在一个XML文件中的<resources>元素下添加多个Color Drawable。
File Location:
res/drawable/filename.xml
文件名随意。元素的name将会当作资源ID使用。
Complied Resource Datatype:
指向PaintDrawable资源的指针。
Resource Reference:
R.drawable.color_name(Java)
@[package:]drawable/color_name(XML)
Syntax:
Elements:
<resources>
必须。必须是根节点。
没有特性。
<drawable>
一个color Drawable。其值可以是任何有效的十六进制颜色值或者Color资源。Color值总是以“#”开头,后面紧跟Alpha-Red-Green-Blue信息,格式是:#RGB、#ARGB或者#AARRGGBB。
Attributes:
name
String。必须。Color的名字。这个名字将被当作资源ID使用。
Example:
XML文件保存在res/drawable/color.xml。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="solid_red">#f00</drawable>
<drawable name="solid_blue">#0000ff</drawable>
</resources>
Layout XML将会把这个Color Drawable应用到一个View上:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/solid_blue" />
代码中获取Color Drawable并应用到View上:
Resources res = getResources();
Drawable redDrawable = res.getDrawable(R.drawable.solid_red);
TextView tv = (TextView) findViewByID(R.id.text);
tv.setBackground(redDrawable);