首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Jetpack组合中创建角梯度?

如何在Jetpack组合中创建角梯度?
EN

Stack Overflow用户
提问于 2022-04-01 05:33:58
回答 1查看 466关注 0票数 2

我想在中创建这样的角度渐变。

渐变是在Figma中生成的,下面是Figma检查中的android代码。

只有one angle,我才能找到线性梯度的资源。

如何在Jetpack构图中创建这个角度梯度?

EN

回答 1

Stack Overflow用户

发布于 2022-04-01 10:02:17

您需要的是Brush.sweepGradient与colorStops和正确设置中心。渐变停止从3'o时钟开始,右中心,所以您需要在每个停止加上0.25,并移动那些通过1开始,我移动2颜色从底部到顶部0.01,和0.14

代码语言:javascript
复制
@Composable
private fun SweepGradientExample() {
    val colorStops = listOf(
        0.01f to Color(0x8C1339FF),
        0.14f to Color(0x8CFF13A1),
        0.31f to Color(0x8C1380FF),
        0.54f to Color(0x8CD013FF),
        0.81f to Color(0x8C7B13FF),
    ).toTypedArray()

    val density = LocalDensity.current
    val centerX: Float
    val centerY: Float
    with(density) {
        centerX = 161.dp.toPx() / 2
        centerY = 97.dp.toPx() / 2
    }
    val brush = Brush.sweepGradient(
        colorStops = colorStops,
        center = Offset(centerX, centerY)
    )
    Box(modifier = Modifier
        .size(width = 161.dp, height = 97.dp)
        .background(brush)
    )
}

结果

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71702233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档