Frage Was ist der Unterschied zwischen background, backgroundTint, backgroundTintMode-Attributen in Android-Layout-XML?


Beim Arbeiten mit dem Android-Layout-Xml bin ich darauf gestoßen backgroundTint Attribut. Ich verstehe nicht, wofür es ist.

Auch was ist backgroundTintMode ??


76
2017-09-09 04:39


Ursprung


Antworten:


Ich testete verschiedene Kombinationen von android:background, android:backgroundTint und android:backgroundTintMode.

android:backgroundTint wendet den Farbfilter auf die Ressource von an android:background wenn zusammen verwendet mit android:backgroundTintMode.

Hier sind die Ergebnisse:

Tint Check

Hier ist der Code, wenn Sie weiter experimentieren wollen:

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



Das backgroundTint Attribut hilft Ihnen, eine Tönung (Schatten) zum Hintergrund hinzuzufügen. Sie können einen Farbwert für denselben in Form von - "#rgb", "#argb", "#rrggbb", or "#aarrggbb".

Das backgroundTintMode Auf der anderen Seite wird Ihnen helfen, die Hintergrundfarbe anzuwenden. Es muss konstante Werte wie haben src_over, src_in, src_atop, etc.

Verweisen Dies um eine klare Vorstellung von den konstanten Werten zu erhalten, die verwendet werden können. Suche nach dem backgroundTint Attribut und die Beschreibung zusammen mit verschiedenen Attributen wird verfügbar sein.


10
2017-09-09 05:16



BackgroundTint funktioniert als Farbfilter.

FEFBDE als Farbton

37AEE4 als Hintergrund

Versuchen Sie, den Unterschied nach Kommentarfärbung / Hintergrund zu sehen und überprüfen Sie die Ausgabe, wenn beide gesetzt sind.


4
2017-09-09 05:25



android: backgroundTintMode

Mischmodus zum Anwenden der Hintergrundfarbe.

android: HintergrundTint

Tönung für den Hintergrund. Muss ein Farbwert sein, in Form von #rgb, #argb, #rrggbb, oder #aarrggbb.

Dies kann auch eine Referenz auf eine Ressource sein (in der Form   "@ [Paket:] Typ: Name") oder Thema-Attribut (im Formular   "? [Paket:] [Typ:] Name"), der einen Wert dieses Typs enthält.


2
2017-09-09 05:46