关于 kotlin-compose
面向 Kotlin 开发者的技能,帮助使用 Jetpack Compose 构建声明式 UI。内容涵盖状态、副作用、Modifier、Material 3 主题,以及重组和状态保留问题的处理。
主要功能
- 01Compose 状态管理
- 02副作用处理
- 03Modifier 用法
- 04Material 3 主题
- 05重组与状态问题排查
适用场景
- 01实现有状态的 Compose 界面
- 02处理与输入变化相关的副作用
- 03使用 Material 3 设置界面样式
- 04排查重组或旋转后状态丢失
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pluginagentmarketplace/ custom-plugin-kotlin --skill kotlin-compose安装后在 Claude Code 中输入/kotlin-compose确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/config.yamlschema.jsonreferences/GUIDE.mdPATTERNS.mdscripts/validate.py详细介绍
Kotlin Compose 技能
使用 Jetpack Compose 声明式模式构建现代 UI。
涵盖主题
状态管理
@Composable
fun Counter() {
var count by remember { mutableIntStateOf(0) }
Button(onClick = { count++ }) { Text("Count: $count") }
}
// Derived state
val isValid by remember { derivedStateOf { email.isNotBlank() && password.length >= 8 } }
副作用
@Composable
fun UserScreen(userId: String) {
LaunchedEffect(userId) {
viewModel.loadUser(userId)
}
DisposableEffect(Unit) {
val listener = viewModel.addListener()
onDispose { listener.remove() }
}
}
修饰符
Box(
modifier = Modifier
.fillMaxSize()
.padding(16.dp)
.background(MaterialTheme.colorScheme.surface)
.clickable { onClick() }
)
Material 3 主题
@Composable
fun AppTheme(content: @Composable () -> Unit) {
val colorScheme = if (isSystemInDarkTheme()) darkColorScheme() else lightColorScheme()
MaterialTheme(colorScheme = colorScheme, typography = Typography, content = content)
}
故障排除
| 问题 | 解决方案 |
|---|---|
| 无限重组 | 使用 remember 或 derivedStateOf |
| 旋转屏幕后状态丢失 | 使用 rememberSaveable 或 ViewModel |
用法
Skill("kotlin-compose")
评论
支持 Markdown