2021/January/8
Si vous souhaitez obtenir la couleur à partir des attributs du thème, procédez comme suit.
Créez une variable my_color et stockez la couleur à partir des attributs du thème comme,
val my_color = MaterialColors.getColor(<VIEWOBJECT>, R.attr.<YOUATRRIBUTENAME>)
À la place de <VIEWOBJECT>
passe un objet de vue où vous voulez utiliser la couleur, (en coulisses, il est juste utilisé pour obtenir le contexte en tant que <VIEWOBJECT>.getContext()
afin qu'il puisse accéder aux ressources, c'est-à-dire aux valeurs des attributs des thèmes. A la place de <YOURATTRIBUTENAME>
Utilisez le nom de l'attribut auquel vous voulez accéder.
Exemple 1 :
Si vous voulez obtenir la couleur référencée par les attributs de thème de certaines activités. Créez une variable qui représente un objet de vue sur lequel vous voulez utiliser la couleur. Ici, j'ai un textView dans mon activité, je vais simplement référencer son objet dans la variable textview
et la passe à la variable getColor
et, en coulisse, il utilisera cet objet pour obtenir le contexte, afin de pouvoir accéder aux valeurs des attributs de thème.
val textview: TextView = findViewById(R.id.mytextview)
val my_color = MaterialColors.getColor(textView, R.attr<YOURATTRIBUTENAME>)
Exemple 2 :
Si vous voulez obtenir la couleur des attributs de thème dans une vue personnalisée, utilisez simplement,
val my_color = MaterialColors.getColor(this, R.attr.<YOUATRRIBUTENAME>)
Dans une vue personnalisée this
fait référence à l'objet de la vue personnalisée, qui est en fait un objet de vue.