Static class for constants with reference to java resources
well as pointed out using singletons is considered bad practice and using global constants in an object-orientatd world is bad practice as well...

So, what is your suggestion? 



Consider the purpose of the attribute

you want to define a app-specific attribute (color), an attribute you want to configure - this is the very reason why you use ressources, right. Or do you want to define a constant?

 1. it's a constant

if you don't want to specify a configurable attribute you should define a constant in your app

private static final int COLOR_ONE = 0x123456;


 2. it's an attribute

but if you want to specify a configurable attribute you simply define it as such in your app:

int colorOne = MainActivity.getContext().getResources().getColor(R.color.colorOne); 


you are right, this might be a bit intricately so it would be just as simple to wrap this call in a method

private int getColorFromRessource(int colorId){
    return MainActivity.getContext().getResources().getColor(colorId); 
}


this would be applied in your setup of the Paint in an quite easy way:

public ScreenArea(Rect area) {
    this.area = area;
    paint = new Paint();
    paint.setColor(getColorFromRessource(R.color.colorOne)); //obvious
  //paint.setColor(Attributes.COLOR_ONE);  far less obvious
}