Lors de l'utilisation de Android layout XML, je suis tombé sur l'attribut backgroundTint
. Je ne comprends pas à quoi ça sert.
Aussi qu'est-ce que backgroundTintMode
??
J'ai testé diverses combinaisons de Android:background
, Android:backgroundTint
et Android:backgroundTintMode
.
Android:backgroundTint
applique le filtre de couleur à la ressource Android:background
lorsqu'il est utilisé avec Android:backgroundTintMode
.
Voici les résultats:
Voici le code si vous voulez expérimenter davantage:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:orientation="vertical"
Android:layout_height="match_parent"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="32dp"
Android:textSize="45sp"
Android:background="#37AEE4"
Android:text="Background" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="32dp"
Android:textSize="45sp"
Android:backgroundTint="#FEFBDE"
Android:text="Background tint" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="32dp"
Android:textSize="45sp"
Android:background="#37AEE4"
Android:backgroundTint="#FEFBDE"
Android:text="Both together" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="32dp"
Android:textSize="45sp"
Android:background="#37AEE4"
Android:backgroundTint="#FEFBDE"
Android:backgroundTintMode="multiply"
Android:text="With tint mode" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="32dp"
Android:textSize="45sp"
Android:text="Without any" />
</LinearLayout>
L'attribut backgroundTint
vous aidera à ajouter une teinte (ombre) à l'arrière-plan. Vous pouvez fournir une valeur de couleur pour la même chose sous la forme - "#rgb", "#argb", "#rrggbb", or "#aarrggbb".
La backgroundTintMode
vous aidera quant à elle à appliquer la teinte de fond. Il doit avoir des valeurs constantes comme src_over, src_in, src_atop,
etc.
Reportez-vous à this pour avoir une idée claire des valeurs constantes pouvant être utilisées. Recherchez l'attribut backgroundTint
et la description ainsi que divers attributs seront disponibles.
BackgroundTint fonctionne comme filtre de couleur.
Essayez de voir la différence par commentaire/fond et vérifiez le résultat lorsque les deux sont définis.
Mode de fusion utilisé pour appliquer la teinte de fond.
Teinte à appliquer à l'arrière-plan. Doit être une valeur de couleur, sous la forme
#rgb
,#argb
,#rrggbb
ou#aarrggbb
.Cela peut également ê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 .