setbackgroundtintlist android android-layout

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



set background tint android java (4)

BackgroundTint funciona como filtro de color.

FEFBDE como tinte

37AEE4 como fondo

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

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

También, ¿qué es backgroundTintMode ?


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

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

Consulte this para tener una idea clara de los valores constantes que se pueden utilizar. Busque el atributo backgroundTint y la descripción junto con varios atributos estarán disponibles.


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 usa junto con android:backgroundTintMode .

Aquí están los resultados:

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

<?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>


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 del tema (en la forma "? [Paquete:] [tipo:] nombre") que contiene un valor de este tipo .