如何获取具有已知颜色名称的颜色ID

dum*_*azy 1 android

我有一些颜色定义/values/colors.xml.

我如何以编程方式获取某种颜色的id,例如,R.color.my_color如果我知道颜色的名称.

Mar*_*ski 6

试试这个:

public int getColorByName( String name ) {
    int colorId = 0;

    try {
        Class res = R.color.class;
        Field field = res.getField( name );
        colorId = field.getInt(null);
    } catch ( Exception e ) {
        e.printStackTrace();
    }

    return colorId;
}
Run Code Online (Sandbox Code Playgroud)

在你的情况下namemy_color:

getColorByName("my_color");
Run Code Online (Sandbox Code Playgroud)