Par défaut les boutons, les spinner voire d'autres views ont une image de fond définie.
Le fait d'attribuer une couleur avec Spinner.Color = couleur modifie l'image de fond et lui attribue la couleur donnée et le rayon des coins vaut 0.
Pour obtenir une couleur de fond avec des coins arrondis il faut utiliser un objet ColorDrawable ou un GradientDrawable voir un BitmapDrawable.
Les inconvénients, dans le cas du Spinner, sont que la flèche disparait.
Spinner.Color = TextColor modifie la couleur du texte.
Si la couleur de l'image de fond est foncée et la couleur du texte claire, le texte sera peu visible lorsque le spinner est déroulé.
Je n'ai pas trouvé si on peut modifier l'image de fond du spinner déroulé.
En annexe un petit programme de démo.
Meilleures salutations.