Dans votre deuxième exemple TextView, je me demande lorsque vous utilisez uniquement android:backgroundTintsans android:background, ce deuxième TextView ne change rien. Cependant, j'essaie android:backgroundTintdans Button, la couleur du bouton ressemble à la même couleur de backgroundTint que j'ai définie. Pouvez-vous expliquer ces cas?
Vinh Nguyen
@VinhNguyen, la android:backgroundpropriété doit être définie pour que le android:backgroundTintsoit visible sur TextView. Dans le cas du Button, je suppose qu'il a déjà une sorte d'arrière-plan / couleur définie par le cadre.
Yogesh Umesh Vaity
13
L' backgroundTintattribut vous aidera à ajouter une teinte (nuance) à l'arrière-plan. Vous pouvez fournir une valeur de couleur pour le même sous la forme de -"#rgb", "#argb", "#rrggbb", or "#aarrggbb".
Le backgroundTintMode, d'autre part, vous aidera à appliquer la teinte de fond. Il doit avoir des valeurs constantes comme src_over, src_in, src_atop,etc.
Reportez - vous à ceci pour avoir une idée claire des valeurs constantes qui peuvent être utilisées. La recherche de l' backgroundTintattribut et la description ainsi que divers attributs seront disponibles.
Je n'insisterai pas beaucoup sur la différence car elle est déjà couverte, mais notez ce qui suit:
android:backgroundTintandroid:backgroundTintMode sont uniquement disponibles à l'API 21
Si vous avez un widget avec un arrière-plan dessinable png / vecteur défini par android:backgroundet que vous souhaitez changer sa couleur par défaut, vous pouvez l'utiliser android:backgroundTintpour lui ajouter une nuance.
Si vous essayez de changer la couleur d'accentuation de l' FloatingActionButtonutilisation, android:backgroundvous ne remarquerez pas de changement, c'est parce qu'il est déjà utilisé app:srcCompat, donc pour ce faire, vous pouvez utiliser à la android:backgroundTintplace
Teinte à appliquer à l'arrière-plan. Doit être une valeur de couleur, sous la forme de #rgb, #argb, #rrggbbou#aarrggbb .
Cela peut aussi être une référence à une ressource (sous la forme "@ [package:] type: nom") ou à un attribut de thème (sous la forme "? [Package:] [type:] nom") contenant une valeur de ce type .
android:backgroundTint
sansandroid:background
, ce deuxième TextView ne change rien. Cependant, j'essaieandroid:backgroundTint
dans Button, la couleur du bouton ressemble à la même couleur de backgroundTint que j'ai définie. Pouvez-vous expliquer ces cas?android:background
propriété doit être définie pour que leandroid:backgroundTint
soit visible surTextView
. Dans le cas duButton
, je suppose qu'il a déjà une sorte d'arrière-plan / couleur définie par le cadre.L'
backgroundTint
attribut vous aidera à ajouter une teinte (nuance) à l'arrière-plan. Vous pouvez fournir une valeur de couleur pour le même sous la forme de -"#rgb", "#argb", "#rrggbb", or "#aarrggbb".
Le
backgroundTintMode
, d'autre part, vous aidera à appliquer la teinte de fond. Il doit avoir des valeurs constantes commesrc_over, src_in, src_atop,
etc.Reportez - vous à ceci pour avoir une idée claire des valeurs constantes qui peuvent être utilisées. La recherche de l'
backgroundTint
attribut et la description ainsi que divers attributs seront disponibles.la source
Je n'insisterai pas beaucoup sur la différence car elle est déjà couverte, mais notez ce qui suit:
android:backgroundTint
android:backgroundTintMode
sont uniquement disponibles à l'API 21android:background
et que vous souhaitez changer sa couleur par défaut, vous pouvez l'utiliserandroid:backgroundTint
pour lui ajouter une nuance.exemple
Un autre exemple
Si vous essayez de changer la couleur d'accentuation de l'
FloatingActionButton
utilisation,android:background
vous ne remarquerez pas de changement, c'est parce qu'il est déjà utiliséapp:srcCompat
, donc pour ce faire, vous pouvez utiliser à laandroid:backgroundTint
placela source
BackgroundTint fonctionne comme un filtre de couleur.
FEFBDE comme teinte
37AEE4 en arrière-plan
Essayez de voir la différence par la teinte / l'arrière-plan du commentaire et vérifiez la sortie lorsque les deux sont définis.
la source
android: backgroundTintMode
android: backgroundTint
la source