如何使用 Jetpack Compose 在 TopAppBar 中设置渐变背景

Kry*_*ski 8 android kotlin android-jetpack-compose

我想设置我的渐变背景TopAppBar

我的代码:

TopAppBar(
    modifier = Modifier.background(
        Brush.horizontalGradient(
            colors = listOf(
                Color.Red,
                Color.Green
            )
        )
    ),
    title = { Text("UI Components") },
    backgroundColor = Color.Transparent
)
Run Code Online (Sandbox Code Playgroud)

结果:

渲染的 TopAppBar

我找到了这篇文章:Jetpack Compose Button withgradientbackground? 对于按钮 - 所以我通过修改器设置backgroundColor透明和自定义背景。可悲的是,就我而言,文本周围有一个额外的阴影,我不知道如何删除。我应该更改什么,或者也许 TopAppBar 不适合使用渐变,我应该编写一些完全自定义的内容?

Phi*_*hov 11

这个阴影是默认造成的elevation。将其设置为零:

TopAppBar(
    modifier = Modifier.background(
        Brush.horizontalGradient(
            colors = listOf(
                Color.Red,
                Color.Green
            )
        )
    ),
    title = { Text("UI Components") },
    backgroundColor = Color.Transparent,
    elevation = 0.dp
)
Run Code Online (Sandbox Code Playgroud)