¿Cuál es la diferencia entre los atributos background, backgroundTint, backgroundTintMode en android layout xml?

Mientras trabajaba con el diseño xml de Android me encontré con el atributo backgroundTint . No entiendo para qué sirve.

Además, ¿qué es backgroundTintMode ?

Probé varias combinaciones de android:background , android:backgroundTint y android:backgroundTintMode .

android:backgroundTint aplica el filtro de color al recurso de android:background cuando se utiliza junto con android:backgroundTintMode .

Aquí están los resultados:

Tint Check

Aquí está el código si quieres experimentar más:

         

El atributo backgroundTint te ayudará a agregar un tinte (sombra) al fondo. Puede proporcionar un valor de color para el mismo en la forma de – "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

El backgroundTintMode por otro lado, te ayudará a aplicar el tinte de fondo. Debe tener valores constantes como src_over, src_in, src_atop, etc.

Remítalo para tener una idea clara de los valores constantes que se pueden usar. Buscar el atributo backgroundTint y la descripción junto con varios atributos estarán disponibles.

BackgroundTint funciona como filtro de color.

FEFBDE como tinte

37AEE4 como fondo

Intente ver la diferencia mediante el tinte / fondo de comentario y verifique la salida cuando ambos estén configurados.

android: backgroundTintMode

Modo de fusión utilizado para aplicar el tinte de fondo.

android: backgroundTint

Tinte para aplicar al fondo. Debe ser un valor de color, en forma de #rgb , #argb , #rrggbb o #aarrggbb .

Esto también puede ser una referencia a un recurso (en la forma “@ [paquete:] tipo: nombre”) o atributo de tema (en la forma “? [Paquete:] [tipo:] nombre”) que contiene un valor de este tipo .