In Ihrem zweiten TextView-Beispiel frage ich mich , ob diese zweite TextView nichts ändert , wenn Sie nur android:backgroundTintohne verwenden android:background. Ich versuche jedoch android:backgroundTintin Button, dass die Farbe der Button der Farbe von backgroundTint entspricht, die ich eingestellt habe. Können Sie diese Fälle erklären?
Vinh Nguyen
@VinhNguyen, android:backgroundEigenschaft muss festgelegt werden, damit die android:backgroundTintsichtbar wird TextView. Im Falle von Button, vermute ich, dass es bereits eine Art Hintergrund / Farbe hat, die vom Framework festgelegt wird.
Yogesh Umesh Vaity
13
Das backgroundTintAttribut hilft Ihnen, dem Hintergrund einen Farbton hinzuzufügen. Sie können dafür einen Farbwert in Form von - angeben"#rgb", "#argb", "#rrggbb", or "#aarrggbb".
Das backgroundTintModehilft Ihnen andererseits, die Hintergrundtönung anzuwenden. Es muss konstante Werte wie src_over, src_in, src_atop,etc. haben.
Lesen Sie dies , um eine klare Vorstellung von den konstanten Werten zu erhalten, die verwendet werden können. Die Suche nach dem backgroundTintAttribut und der Beschreibung sowie verschiedene Attribute werden verfügbar sein.
Nein, ist es nicht. Können Sie noch einmal überprüfen?
Samridhi
7
Ich werde nicht viel auf den Unterschied eingehen, da er bereits behandelt wird, aber beachte Folgendes:
android:backgroundTintandroid:backgroundTintMode sind nur bei API 21 verfügbar
Wenn Sie ein Widget haben, für das ein von PNG / Vektor zeichnbarer Hintergrund festgelegt wurde android:background, und die Standardfarbe ändern möchten, können android:backgroundTintSie ihm einen Farbton hinzufügen.
Wenn Sie versuchen, die Akzentfarbe der FloatingActionButtonVerwendung zu android:backgroundändern, werden Sie keine Änderung bemerken, da dies bereits verwendet app:srcCompatwird. Um dies zu tun, können Sie android:backgroundTintstattdessen verwenden
Farbton für den Hintergrund. Muss ein Farbwert sein, der in der Form #rgb, #argb, #rrggbb, oder#aarrggbb .
Dies kann auch ein Verweis auf eine Ressource (in der Form "@ [Paket:] Typ: Name") oder ein Themenattribut (in der Form "? [Paket:] [Typ:] Name") sein, die einen Wert dieses Typs enthält .
android:backgroundTint
ohne verwendenandroid:background
. Ich versuche jedochandroid:backgroundTint
in Button, dass die Farbe der Button der Farbe von backgroundTint entspricht, die ich eingestellt habe. Können Sie diese Fälle erklären?android:background
Eigenschaft muss festgelegt werden, damit dieandroid:backgroundTint
sichtbar wirdTextView
. Im Falle vonButton
, vermute ich, dass es bereits eine Art Hintergrund / Farbe hat, die vom Framework festgelegt wird.Das
backgroundTint
Attribut hilft Ihnen, dem Hintergrund einen Farbton hinzuzufügen. Sie können dafür einen Farbwert in Form von - angeben"#rgb", "#argb", "#rrggbb", or "#aarrggbb".
Das
backgroundTintMode
hilft Ihnen andererseits, die Hintergrundtönung anzuwenden. Es muss konstante Werte wiesrc_over, src_in, src_atop,
etc. haben.Lesen Sie dies , um eine klare Vorstellung von den konstanten Werten zu erhalten, die verwendet werden können. Die Suche nach dem
backgroundTint
Attribut und der Beschreibung sowie verschiedene Attribute werden verfügbar sein.quelle
Ich werde nicht viel auf den Unterschied eingehen, da er bereits behandelt wird, aber beachte Folgendes:
android:backgroundTint
android:backgroundTintMode
sind nur bei API 21 verfügbarandroid:background
, und die Standardfarbe ändern möchten, könnenandroid:backgroundTint
Sie ihm einen Farbton hinzufügen.Beispiel
Ein anderes Beispiel
Wenn Sie versuchen, die Akzentfarbe der
FloatingActionButton
Verwendung zuandroid:background
ändern, werden Sie keine Änderung bemerken, da dies bereits verwendetapp:srcCompat
wird. Um dies zu tun, können Sieandroid:backgroundTint
stattdessen verwendenquelle
BackgroundTint fungiert als Farbfilter.
FEFBDE als Farbton
37AEE4 als Hintergrund
Versuchen Sie, den Unterschied anhand der Kommentartönung / des Hintergrunds zu erkennen, und überprüfen Sie die Ausgabe, wenn beide festgelegt sind.
quelle
android: backgroundTintMode
android: backgroundTint
quelle