我有一个颜色列表
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="yellow">#FFFF00</color>
<color name="fuchsia">#FF00FF</color>
<color name="red">#FF0000</color>
<color name="silver">#C0C0C0</color>
<color name="gray">#808080</color>
<color name="olive">#808000</color>
<color name="purple">#800080</color>
<color name="maroon">#800000</color>
<color name="aqua">#00FFFF</color>
<color name="lime">#00FF00</color>
<color name="teal">#008080</color>
<color name="green">#008000</color>
<color name="blue">#0000FF</color>
<color name="navy">#000080</color>
<color name="black">#000000</color>
</resources>
(我从别人问的另一个问题中得到了这个列表)
我想做的是获取所有颜色名称。我想要这个列表,这样我就可以在微调器中填充该批处理。伪代码是这样的。
List ofColours = getListOfColors(R.color);
for(int i = 0 ; i < ofColours.size() ; i ++)
{
String colour = getResources().getColor(ofColours.get(i));
addColourToSpinner(colour);
}
我想要的是颜色列表。 我希望能解释它 为所有帮助干杯
最佳答案
您可以使用反射访问颜色列表:
Field[] fields = Class.forName(getPackageName()+".R$color").getDeclaredFields();
for(Field field : fields) {
String colorName = field.getName();
int colorId = field.getInt(null);
int color = getResources().getColor(colorId);
Log.i("test", colorName + " => " + colorId + " => " + color);
}
关于java - Android 从资源中获取颜色列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344191/