在Android Jetpack Compose中,您可以使用Modifier.background
和Brush.linearGradient
来实现带有角度的线性渐变效果,类似于GradientDrawable
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
Surface(color = Color.White) {
GradientBox()
}
}
}
}
}
@Composable
fun GradientBox() {
Box(
modifier = Modifier
.size(200.dp)
.background(Brush.linearGradient(
colors = listOf(Color.Blue, Color.Green),
start = Offset(0f, 0f),
end = Offset(200f, 200f)
))
)
}
在这个示例中,我们创建了一个Box
,并为其应用了线性渐变背景。渐变的起始颜色为蓝色,结束颜色为绿色。渐变的方向是从左上角到右下角。
您可以通过更改colors
、start
和end
参数来自定义渐变效果。例如,要更改渐变的角度,您可以调整start
和end
参数的值。
领取专属 10元无门槛券
手把手带您无忧上云