Code: Select all
Box(
modifier = Modifier
.fillMaxWidth()
.fillMaxHeight()
.background(
brush = Brush.horizontalGradient(
colors = listOf(
Color.Red,
Color.Blue,
)
)
)
)
< /code>
Ich muss diesen horizontalen Gradienten machen, um auch vertikal zu einer transparenten Farbe auszublenden. Ein bisschen wie die Kombination dieses horizontalen Gradienten mit einem linearen Gradienten, der von vorhandenen Farben zu transparentem (verblassen).Box(
modifier = Modifier
.fillMaxWidth()
.fillMaxHeight()
.drawWithCache {
onDrawBehind {
drawRect(
brush = Brush.horizontalGradient(
colors = listOf(
Color.Red,
Color.Blue,
)
)
)
drawRect(
brush = Brush.verticalGradient(
colors = listOf(
Color.Green, // could be any color
Color.Transparent,
),
),
blendMode = BlendMode.DstIn,
)
}
}
)
SrcOver< /code> ähnelt dem, was ich brauche, aber es hat zwei Probleme: < /p>
Jetzt haben die Farben im vertikalen Gradienten einen Effekt, aber ich kann keine einzige Farbe (wie color.green) für den oberen Farben < /li>
Der Endfarbe ist transparent bedeutet. Aber ich brauchte tatsächlich ein "Masken" -Verhalten. Alt = "Bildbeschreibung hier eingeben" src = "https://i.static.net/ityqxflj.png"/>
Nun, genau das brauche ich vertikal, aber offensichtlich hat es den horizontalen Gradienten vollständig übernommen. Was ich erreichen möchte, ist eine Kombination aus dem ersten Bild und dem letzten Bild (natürlich ohne die grüne Farbe).
Jede Hilfe wird geschätzt.