gpt4 book ai didi

Android Compose - 具有类似 GradientDrawable 的角度的自定义线性渐变

转载 作者:行者123 更新时间:2023-12-04 23:54:09 27 4
gpt4 key购买 nike

如何使用角度参数自定义 Brush.linearGradient(),例如 O、45、90、135... 或其他任何角度?

谢谢。

最佳答案

为 LinearGradient 设置任意角度似乎是个好主意,但这需要做太多工作......

而设置0、45、90、135..等角度比较简单。使用Brush.linearGradient(...)的方法,可以结合参数startend来制作。

首先看到这个函数

        @Stable
fun linearGradient(
colors: List<Color>,
start: Offset = Offset.Zero,
end: Offset = Offset.Infinite,
tileMode: TileMode = TileMode.Clamp
)

从默认参数值(开始,结束),我们可以得出默认角度是135。如何?

start = Offset.Zero == Offset(0f, Float.POSITIVE_INFINITY)
end = Offset.Infinite == Offset(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY)


在笛卡尔坐标中从头到尾,我们可以看到方向是右下,所以角度是135。所以,我们可以得出结论

angle 0
start = Offset(0f,0f)
end = Offset(Float.INFINITY,0f)

angle 45
start = Offset(0f, Float.POSITIVE_INFINITY)
end = Offset(Float.POSITIVE_INFINITY, 0f)

angle 90
start = Offset(0f, Float.POSITIVE_INFINITY)
end = Offset(0f,0f)
...
``

关于Android Compose - 具有类似 GradientDrawable 的角度的自定义线性渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67598613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com