Cycle through an array of available colors repeatedly
The code you've written seems to be reasonably elegant (to me at least!). You can make this slightly simpler by:

storing the colors array rather than getting each time (I've used a by lazy but you could use a nullable var or a lateinit var if you prefer)
Store the cardCount elsewhere rather than locally and incrementing it each time

I've put an example of these changes below. I would strongly recommend extracting out the color logic into its own class in order to make it more testable, reusable and better separation of concern.
private val colors: IntArray by lazy{
    resources.getIntArray(R.array.cardColors)
}

private val cardCount = 0

private fun getCardColor(): Int {
    val color = colors[cardCount % colors.size]  
    cardCount.inc()
    return color
} 

Also, you could use the @ColorInt annotation to make it clear that the Int being returned is a ColorInt.