学习源:https://www.bilibili.com/video/BV1ob4y1a7ad?p=4&vd_source=d61ce9acf622a878da40ae7bdecdaad9
(前期笔记粗糙,后期维护)
Compose是什么?
用于构建Android界面的新工具包,简化并加快Android界面开发,用更好的代码,强大的工具,直观的Kotlin Api打造精彩的应用。
优势:
通过组件化,使代码简洁易于维护,避免更多bug。
直观,通过state,只描述界面,应用状态变化时,界面自动更新
加快应用开发,兼容现有代码,xml布局,可预览。
功能强大,Material design更强大的支持。
Compose是围绕可组合函数构建的,描述应用数据的外观并提供数据依赖项,不必关注界面的构建过程。
要创建可组合函数,将@compose注解添加到函数名称中。
布局
构建界面层次结构
使用column垂直排列元素,row水平排列项,box堆叠元素
配置布局
装饰和配置可组合项,compose可使用修饰符,modifier
material design
material design围绕三大元素构建:颜色,排版,形状
深色主题
列表和动画
当界面重绘时,局部变量不能够保存,故通过by remember开辟私有空间(隶属于compose函数,专门保存内部变量),通过by委托,监控变化。
动画
通过by animateColorAsState,可渐变
为什么要使用compose,能带来什么好处
Compose可解决的问题
编写可维护代码的时候,减少耦合,增加内聚
尽可能将相关代码组合起来,以便轻松维护,关注点分离
声明式UI
与命令式相反
声明式UI的含义
只描述UI,不关心如何转换到对应的状态
组合和继承
重组
重组指的是composable函数在任何时候都可以被重新调用,当层级中某一部分改变。不需要重新计算整个层次结构