German Label: Background vs. Color

Andie

Member
Licensed User
Longtime User
Es gibt anscheinend zwei Möglichkeiten, den Label-Background farblich zu gestalten:
1. Möglichkeit
B4X:
Dim colRed as ColorDrawable
colRed.Initialize(Colors.Red, 6dip)
myLabel.Background = colRed
2. Möglichkeit
B4X:
myLabel.Color = Colors.Red
Sind diese Möglichkeiten identisch?
Was passiert, wenn ich Background UND Color verwende, also beispielsweise:
B4X:
Dim colRed as ColorDrawable
colRed.Initialize(Colors.Red, 6dip)
myLabel.Background = colRed
myLabel.Color = Colors.Green
 

klaus

Expert
Licensed User
Longtime User
1.) colRed.Initialize(Colors.Red, 6dip) du kannst hier den Eckenradius wählen.
2.) myLabel.Color = Colors.Red hier sind die Ecken ohne Radius, ausser er wurde vorher festgestellt.

Dim colRed asColorDrawable
colRed.Initialize(Colors.Red, 6dip)
myLabel.Background = colRed
myLabel.Color = Colors.Green

Hier wird die Farbe geändert, der Radius bleibt.

Es gibt auch noch:
colRed.Initialize2(Colors.Red, 6dip, 2dip, Colors.Black)
wo man noch die Randdaten einstellen kann.
 

Andie

Member
Licensed User
Longtime User
Doch noch eine Frage. Ist auch Folgendes möglich:
B4X:
Dim colRed as ColorDrawable
colRed.Initialize(Colors.Red, 6dip)
myLabel.Color = colRed
 

klaus

Expert
Licensed User
Longtime User
Nein!
myLabel.Color erwatet einen Integer Wert, Color Werte sind Integers.
colRed ist ein Drawable Objekt welches du einer View als Background zufügen musst.
Ich würde die Variable colRed durch cdwRed ersetzen cdw für ColorDrawable, ist natürlich Geschmacksache.
 
Top