使用Compose去实现渐变色有现成的API:
/**
* Row:可以看作横向的LinearLayout
* size:只写一个就是宽高一致,可以分开写,不写默认是wrap_content
* align:可以看作是gravity
*/
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Row(Modifier.padding(20.dp)) {
Box(Modifier.size(100.dp).background(Color.Cyan)) {
Text("纯色", Modifier.align(Alignment.Center))
}
Spacer(Modifier.width(20.dp)) // 距离分隔工具(因为Compose没有Margin)
Box(
Modifier.size(100.dp).background(Brush.verticalGradient(
listOf(
Color.White,
Color.Cyan, // 这里可以加无数个
Color(0xFF2196F3)
)
))
) {
Text("渐变色", Modifier.align(Alignment.Center))
}
}
}
}
运行后的效果: