Configuración del color de un objeto Paint en vista personalizada

Estoy tratando de hacer una vista personalizada y he declarado los atributos de estilo como los siguientes:

  <resources>
 <declare-styleable name="NewCircleView">
    <attr name="radius" format="integer"/>
    <attr name="circlecolor" format="color"/>
</declare-styleable>

 </resources> 

en el constructor de la vista personalizada, estos valores se obtienen como a continuación:

    circleradius=a.getInt(R.styleable.NewCircleView_radius, 0);//global var
    circlecolor=a.getColor(R.styleable.NewCircleView_circlecolor, 0);//global var and a is the typed array

La vista se utiliza al declarar el xml de la siguiente manera:

 <com.customviews.NewCircleView
        android:layout_below="@id/thetext"
        android:layout_width="match_parent"
        android:layout_height="fill_parent" 
        app:radius="10000"
        app:circlecolor="@color/black"<!--this is defined in colors.xml
      />

En la vista personalizada cuando configuro el objeto de pintura como:

thePaintObj.setColor(circlecolor);//circlecolor logs to an integer as expected

No obtengo el color "negro" definido en el xml

Sin embargo, cuando configuro el color como

thePaintObj.setColor(Color.GRAY)

Me sale el color en la vista

¿Alguien puede decirme que estaría haciendo mal?

(N.B: -Si quieres que publique más código, por favor házmelo saber)

EDIT1: - Publicar mi colors.xml. Parece que no está claro en mis comentarios de código:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#7f00</color>
<color name="blue">#770000ff</color>
<color name="green">#7700ff00</color>
<color name="yellow">#77ffff00</color>
<color name="black">#000000</color>
 </resources>

Respuestas a la pregunta(2)

Su respuesta a la pregunta