目录
一、配置
https://developer.android.com/develop/ui/compose/setup?hl=zh-cn
照着官方的配置即可
二、教程
官方教程:https://developer.android.google.cn/develop/ui/compose/documentation?hl=zh-cn
基础教学:
https://cloud.tencent.com/developer/article/2378444
https://chalk.blog.csdn.net/article/details/120530249
https://cloud.tencent.com/developer/article/2453671
必须搞懂的两件事儿:UI组件和状态管理
1.常用组件
https://blog.csdn.net/qq_35460159/article/details/157031212 (详细组件分类)

📦 各层级的核心组件清单
下面是各层的主要组件,你可以对照上面的图来理解。
🎨 Material Design 层
这一层是最常用的,它提供了遵循 Material Design 3(Material You)规范的开箱即用组件,自带主题、交互和样式。
- 按钮类:
Button(填充按钮)、TextButton(文本按钮)、OutlinedButton(边框按钮)、IconButton(图标按钮)、FloatingActionButton(悬浮按钮)。 - 输入类:
TextField(下划线输入框)、OutlinedTextField(边框输入框)。 - 选择与状态类:
Checkbox(复选框)、RadioButton(单选按钮)、Switch(开关)、Slider(滑动条)、DropdownMenu(下拉菜单)。 - 容器类:
Card(卡片)、AlertDialog(对话框)、ModalBottomSheet(底部弹窗)、Snackbar(提示条)、Divider(分隔线)。 - 导航类:
NavigationBar(底部导航栏)、NavigationRail(侧边导航栏)、TabRow(标签栏)、Scaffold(页面脚手架)。
🧱 基础层 (Foundation)
这一层提供与具体设计系统无关的通用构建模块,如果你想定制自己的设计系统,可以基于这层开发。
- 布局组件:
Column(垂直排列)、Row(水平排列)、Box(层叠排列,类似FrameLayout)、FlowRow/FlowColumn(流式布局,自动换行)。 - 懒加载布局:
LazyColumn(垂直列表)、LazyRow(水平列表)、LazyVerticalGrid(网格列表)、LazyStaggeredGrid(瀑布流)。 - 基础功能组件:
Image(图片显示)、BasicText(无样式的纯文本)、BasicTextField(无样式的输入框)。
🖌️ UI 层与运行时层
这两层提供了最基础的“能力”,你通常不会直接拿它们来构建UI,但所有上层组件都依赖于它们。
- 布局与绘制 (UI层):
Layout和Modifier:用于自定义布局和装饰组件(如设置大小、边距、背景、点击事件等)的核心工具。Canvas:用于自定义绘制,类似传统View中的Canvas。- 手势处理:通过
Modifier.pointerInput、Modifier.draggable等实现触摸交互。
- 核心机制 (运行时层):这是Compose的基石。
- 状态管理:
remember、mutableStateOf、rememberSaveable用于保存和管理UI状态。 - 副作用:
LaunchedEffect、DisposableEffect用于处理与Compose生命周期相关的操作。 - 注解:
@Composable是标记所有可组合函数的“身份证”。
- 状态管理:
💡 开发建议
- 首选高层级组件:对于大多数开发场景,直接从Material 3层开始是最佳选择。
Button、Card、Scaffold等组件已经包含了无障碍、主题和最佳交互实践,能帮你省去大量工作。 - 按需“降级”使用:如果你需要完全定制化的设计系统,或者高层级组件无法满足你的需求,就可以考虑基于基础层或UI层来构建自己的组件。例如,你想实现一个极简的、无任何样式的点击区域,
BasicTextField会比OutlinedTextField更合适。 - 理解核心机制:无论使用哪一层,理解运行时层的概念(如
remember、@Composable)都是必须的,它们是驱动整个Compose UI工作的引擎。
0 条评论