关于 mobile-android-design
面向 Android 应用设计与开发的技能,涵盖 Material Design 3 和 Jetpack Compose,并涉及自适应布局、导航、主题、无障碍及 Android 交互。
主要功能
- 01Material Design 3 指导
- 02Jetpack Compose UI 模式
- 03Navigation Compose 导航模式
- 04手机和平板自适应布局
- 05动态颜色与主题
- 06无障碍和触控目标
适用场景
- 01设计 Material 3 Android 界面
- 02构建 Compose 屏幕与布局
- 03适配手机、平板和折叠设备
- 04改进无障碍与交互设计
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill mobile-android-design安装后在 Claude Code 中输入/mobile-android-design确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/android-navigation.mdcompose-components.mddetails.mdmaterial3-theming.md详细介绍
Android 移动端设计
掌握 Material Design 3(Material You)和 Jetpack Compose,构建现代化、自适应且能与 Android 生态无缝集成的 Android 应用。
何时使用本技能
- 按照 Material Design 3 设计 Android 应用界面
- 构建 Jetpack Compose UI 和布局
- 实现 Android 导航模式(Navigation Compose)
- 为手机、平板和折叠屏设备创建自适应布局
- 使用支持动态颜色的 Material 3 主题
- 构建无障碍的 Android 界面
- 实现 Android 特有的手势和交互
- 针对不同的屏幕配置进行设计
详细章节:核心概念
本节原为 SKILL.md 中 9201 字节的章节。为满足 Codex 对技能正文 8 KB 的上限,已移至 references/details.md。
快速开始组件
@Composable
fun ItemListCard(
item: Item,
onItemClick: () -> Unit,
modifier: Modifier = Modifier
) {
Card(
onClick = onItemClick,
modifier = modifier.fillMaxWidth(),
shape = RoundedCornerShape(12.dp)
) {
Row(
modifier = Modifier
.padding(16.dp)
.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
Box(
modifier = Modifier
.size(48.dp)
.clip(CircleShape)
.background(MaterialTheme.colorScheme.primaryContainer),
contentAlignment = Alignment.Center
) {
Icon(
imageVector = Icons.Default.Star,
contentDescription = null,
tint = MaterialTheme.colorScheme.onPrimaryContainer
)
}
Spacer(modifier = Modifier.width(16.dp))
Column(modifier = Modifier.weight(1f)) {
Text(
text = item.title,
style = MaterialTheme.typography.titleMedium
)
Text(
text = item.subtitle,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
}
Icon(
imageVector = Icons.Default.ChevronRight,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant
)
}
}
}
最佳实践
- 使用 Material 主题:通过
MaterialTheme.colorScheme访问颜色,以自动支持深色模式 - 支持动态颜色:在 Android 12+ 上启用动态颜色以实现个性化
- 自适应布局:使用
WindowSizeClass实现响应式设计 - 内容描述:为所有可交互元素添加
contentDescription - 触摸目标:为无障碍提供最小 48dp 的触摸目标
- 状态提升:提升状态,使组件可复用且可测试
- 正确使用 remember:恰当使用
remember和rememberSaveable - 预览注解:添加带有不同配置的
@Preview
常见问题
- 重组问题:避免传递不稳定的 lambda;使用
remember - 状态丢失:使用
rememberSaveable应对配置变更 - 性能:长列表使用
LazyColumn而非Column - 主题泄漏:确保
MaterialTheme包裹所有可组合项 - 导航崩溃:正确处理返回键和深度链接
- 内存泄漏:在
DisposableEffect中取消协程
评论
支持 Markdown