Pregunta ¿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é backgroundTint atributo. No entiendo para qué sirve.

También lo que es backgroundTintMode ??


76
2017-09-09 04:39


origen


Respuestas:


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:

Tint Check

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>

61
2018-06-28 15:31



los backgroundTint atributo le 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".

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

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


10
2017-09-09 05:16



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.


4
2017-09-09 05:25



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 forma   "? [paquete:] [tipo:] nombre") que contiene un valor de este tipo.


2
2017-09-09 05:46