Jatpack Compose入门笔记(Day1)

学习源:https://www.bilibili.com/video/BV1ob4y1a7ad?p=4&vd_source=d61ce9acf622a878da40ae7bdecdaad9
(前期笔记粗糙,后期维护)

Compose是什么?

用于构建Android界面的新工具包,简化并加快Android界面开发,用更好的代码,强大的工具,直观的Kotlin Api打造精彩的应用。

优势:
通过组件化,使代码简洁易于维护,避免更多bug。
直观,通过state,只描述界面,应用状态变化时,界面自动更新
加快应用开发,兼容现有代码,xml布局,可预览。
功能强大,Material design更强大的支持。

Compose是围绕可组合函数构建的,描述应用数据的外观并提供数据依赖项,不必关注界面的构建过程。
要创建可组合函数,将@compose注解添加到函数名称中。


image.png

布局

构建界面层次结构

使用column垂直排列元素,row水平排列项,box堆叠元素


image.png

配置布局

装饰和配置可组合项,compose可使用修饰符,modifier


image.png

material design

material design围绕三大元素构建:颜色,排版,形状
深色主题


image.png

列表和动画

image.png

image.png

当界面重绘时,局部变量不能够保存,故通过by remember开辟私有空间(隶属于compose函数,专门保存内部变量),通过by委托,监控变化。


image.png

动画

image.png

通过by animateColorAsState,可渐变


image.png

为什么要使用compose,能带来什么好处

Compose可解决的问题

编写可维护代码的时候,减少耦合,增加内聚
尽可能将相关代码组合起来,以便轻松维护,关注点分离


image.png

image.png

image.png

image.png

image.png

声明式UI

与命令式相反


image.png

image.png

声明式UI的含义

只描述UI,不关心如何转换到对应的状态

组合和继承

image.png

image.png

image.png

image.png

image.png

image.png

image.png

重组

image.png

重组指的是composable函数在任何时候都可以被重新调用,当层级中某一部分改变。不需要重新计算整个层次结构


image.png

小结:

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。