Jetpack Compose 颜色
1. 基本颜色表示
在 Jetpack Compose 中,颜色可以使用 Color 类来表示。以下是几种创建颜色的常见方式:
import androidx.compose.ui.graphics.Color
// 使用预定义的颜色
val redColor = Color.Red
val greenColor = Color.Green
val blueColor = Color.Blue
// 使用 RGB 值创建颜色
val customColor1 = Color(0xFF4285F4) // 十六进制表示,0xFF 表示完全不透明
val customColor2 = Color(red = 100, green = 150, blue = 200) // 使用 0-255 的 RGB 值
// 使用 ARGB 值创建颜色
val semiTransparentColor = Color(alpha = 128, red = 255, green = 0, blue = 0) // 半透明红色,alpha 范围是 0-255
2. 在 UI 元素中使用颜色
你可以将颜色应用到各种 UI 元素中,如 Text、Box、Button 等。
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
@Composable
fun ColorUsageExample() {
Column(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
) {
// 文本使用颜色
Text(
text = "Hello, Compose!",
color = Color.Blue
)
Spacer(modifier = Modifier.height(16.dp))
// 盒子使用颜色作为背景
Box(
modifier = Modifier
.size(100.dp)
.background(Color.Red)
)
Spacer(modifier = Modifier.height(16.dp))
// 按钮使用自定义颜色
Button(
onClick = {
/* 点击事件处理 */ },
modifier = Modifier.background(Color(0xFF4CAF50))
) {
Text(text = "Click Me")
}
}
}
3. 颜色状态管理
使用 mutableStateOf 和 remember 来管理颜色状态,以便在颜色发生变化时自动重新组合 UI。