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>
Modo de fusión utilizado para aplicar el tinte de fondo.
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 .