包含颜色名称和十六进制代码的XML文件随时可供Android程序员使用,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="White">#FFFFFF</color>
<color name="Ivory">#FFFFF0</color>
...
<color name="DarkBlue">#00008B</color>
<color name="Navy">#000080</color>
<color name="Black">#000000</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
我可以使用以下语法访问特定颜色:
TextView area1 = (TextView) findViewById(R.id.area);
area1.setBackgroundColor(Color.parseColor(getString(R.color.Navy)));
Run Code Online (Sandbox Code Playgroud)
要么
area1.setBackgroundColor(Color.parseColor("Navy"));
Run Code Online (Sandbox Code Playgroud)
要么
Resources res = getResources();
int rcol = res.getColor(R.color.Navy);
area1.setBackgroundColor(rcol);
Run Code Online (Sandbox Code Playgroud)
如何将整个xml文件中的颜色读入颜色名称的String []和颜色资源的int [](例如,R.color.Navy),而不必指定每个颜色名称或资源ID?