Подтвердить что ты не робот

В чем разница между атрибутами background, backgroundTint, backgroundTintMode в макете xroid?

Во время работы с XML-дизайном android я столкнулся с атрибутом backgroundTint. Я не понимаю, для чего.

И что такое backgroundTintMode??

4b9b3361

Ответ 1

Я тестировал различные комбинации android:background, android:backgroundTint и android:backgroundTintMode.

android:backgroundTint применяет цветовой фильтр к ресурсу android:background при использовании вместе с android:backgroundTintMode.

Вот результаты:

Tint Check

Здесь код, если вы хотите поэкспериментировать дальше:

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

Ответ 2

Атрибут backgroundTint поможет вам добавить оттенок (оттенок) к фону. Вы можете указать значение цвета для него в форме - "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

С другой стороны, backgroundTintMode поможет вам применить фоновый оттенок. Он должен иметь постоянные значения, такие как src_over, src_in, src_atop, и т.д.

Обратитесь this, чтобы получить четкое представление о постоянных значениях, которые можно использовать. Поиск атрибута backgroundTint и описание вместе с различными атрибутами будут доступны.

Ответ 3

BackgroundTint работает как цветной фильтр.

FEFBDE как оттенок

37AEE4 в качестве фона

Попробуйте просмотреть разницу по значению/фону комментария и проверьте вывод, когда оба параметра установлены.

Ответ 4

android: backgroundTintMode

Режим наложения, используемый для применения фонового оттенка.

android: backgroundTint

Оттенок для применения к фону. Должно быть значение цвета в форме #rgb, #argb, #rrggbb или #aarrggbb.

Это также может быть ссылка на ресурс (в форме "@[package:] type: name" ) или атрибут темы (в форме "? [package:] [type:] name" ), содержащий значение этого типа.