2015-09-01 1 views
0

J'écris une méthode qui prend en couleur une valeur entière (par exemple Color.BLACK).Comment distinguer la couleur int de la ressource couleur

void justDoIt(int color) {} 

Si cela avait été une ressource de couleur (par exemple R.color.black), je l'aurais utilisé @ColorRes annotation d'être explicite sur le type d'entier.

void justDoIt(@ColorRes int colorResId) {} 

Existe-t-il un moyen de faire quelque chose de similaire pour la couleur int?

TL; DR: Comment assurer un param int est une couleur int et non une ressource de couleur (en face de @ColorRes)

+0

Ne parvenez pas à l'expliquer en utilisant d'autres termes? –

+0

Je pense que l'omission de l'annotation indique juste cela, mais je vois votre point, on doit laisser supposer que c'est la valeur entière qui est attendue. Je dirais préférable d'éviter res id - il est sujet à causer de la confusion. Je ne m'attendrais jamais à utiliser un identifiant de couleur plutôt qu'un nombre entier. – Tapirboy

+0

@Skizo seule raison d'être explicite est que quelqu'un d'autre peut apprendre quelque chose. Je vais ajouter TL; DR de toute façon. Merci. –

Répondre