首先 Android 开发中文版的文档还是很不错的,可以当作基础资料阅读了解:
Android Studio
Android 开发还是使用 AS 比较多,关于 Android Studio 的版本说明,可以查看:https://developer.android.google.cn/studio/releases?hl=zh-cn。本文使用的是 Giraffe 版(2022.3.1),使用 JetBrain Tools 安装的,最新版目前就是这个。IDE 的版本不是那么重要,当然越新的版本支持的特性也越新,布局也会进化,可设置项/定制化也会较多。
关于安装使用时候的种种问题,请自行查阅解决方法。
关于创建项目使用的模板
在 Giraffe 版本中,有 Empty Activity 和 Empty Views Activity,Empty Activity 是新推出的一种组合式的模板,又叫做 Jetpack Compose,只支持 Kotlin 语言。
Empty Views Activity 则是旧的模板,支持 Java 和 Kotlin 语言。
模板的名称在不同的版本可能不一样;如果少侠使用的是较旧的版本,那么可能就看不到 Empty Activity 模板选项。
关于 Android SDK 版本选择
不同的 SDK 版本对应不同的 API 级别,可以参考官网说明。创建项目时可以选择支持的最低 Android 版本,即 Mininum SDK。
Android 开发基础
https://developer.android.google.cn/training/basics/intents/result?hl=zh-cn
JetPack 库:https://developer.android.google.cn/jetpack/androidx/explorer?hl=zh-cn
Jerpack Compose 教程:https://jetpackcompose.cn/docs/tutorial/
颜色值由十六进制来表示红、绿、蓝(RGB)。
每个颜色的最低值为 0(十六进制为 00),最高值为 255(十六进制为FF)。十六进制值的写法为 #
号后跟三个或六个十六进制字符。三位数表示法为:#RGB,转换为6位数表示为:#RRGGBB。
除此之外,你可能还见过 0x
开头的,这代表是一个十六进制的数值,这样的颜色表示形式常用在 Android 代码中。除去 0x
外,前两位代表透明度,使用 16 进制数字表示,范围是 00 ~ ff,后面 6 位为 RGB 数值。
举个例子
以 0xffffcc66
为例,0x 表示是一个一般的 16 进制的数字。前两位,即这里的 ff
表示不透明,ffcc66
为颜色值。使用 #RRGGBB 格式就是 #ffcc66
。
透明度的表示范围为:00 ~ ff(16 进制),代表从 0 阶到 255 阶。50% 透明度就是 0x7fffcc66
,7f
转为 10 进制就是 127。
Jetpack Compose 常用组件
既然提倡组合式开发,那么组件是必不可少的,有前端基础,比如 Vue3 ,那么这块很容易理解。
Compose 提供了三种布局组件, Row、Column、Box
Row/LazyRow:行布局,LazyRow 会根据需要动态加载和回收子项
Column/LazyColumn:列布局,LazyColumn 会根据需要动态加载和回收子项
Text:文本,仅支持字符串类型
Image:图片
每种组件有对应的属性值可以调整 UI 的样式,此处不再列举。
Spacer:参数为 modifier,设置组件间隔
Modifier
传统开发中,我们使用 XML 文件描述组件的样式,在 Compose 中,我们可以使用 Modifier 控制。通过传入自定义的 Modifier 修改组件的样式。
Modifier 负责微调上面各种组件的样式。有以下参数
width:宽度
height:长度
size:大小
clip:形状
border:边框
clickable:点击事件
background:背景色