如何通过String值获取颜色ID?

May*_*ndi 5 android android-resources

我有一个值为"c104"的字符串:

String color = "c104"; 
Run Code Online (Sandbox Code Playgroud)

我有一个名为"c104"的颜色:

<color name="c104">#000000</color>
Run Code Online (Sandbox Code Playgroud)

如何通过String值获取该颜色?

我无法做到这一点 R.id.color;

有没有办法将该String转换为ID?

Flo*_*ern 8

有一种getIdentifier()方法可以检索任意资源的资源ID,包括颜色:

String colorName = "c104";
int colorResId = getResources().getIdentifier(colorName, "color", getPackageName());
Run Code Online (Sandbox Code Playgroud)

那将是相同的:

int colorResId = R.color.c104;
Run Code Online (Sandbox Code Playgroud)