JetPack Compose 粗浅理解

2023-01-02  本文已影响0人  eagle006

compose它是2019 年 I/O 大会上公布的新的 UI 库,在今年下半年会发布它的正式版。

既然它是一个UI库,那就要和我们传统写UI的方式作对比了。

①传统写UI的方式:就是先在建立一个xml文件,在里面写好布局好,再回到Java文件(或者是Kotlin文件)里去把控件实例化出来后,再去调用。

②Compose这个库:或者说它是一个框架,它重新定义了Android UI的写法,不再使用xml文件了,而是直接在Kotlin文件(只支持Kotlin)里,写布局的代码。官方对Compose的评价是“让困难的事情变简单,让不可能的事情变得有可能”。

官方对它评价这么高,那我们就来认识认识这个compose。

一、Compose相对于传统的UI写法,它有两个优势:

(1)它是声明式UI

之前的“命令式UI”跟“声明式UI”的区别关键就在于:是否需要去手动刷新数据

传统的UI方法需要我们去调用setXXX方法去更新数据,而compose不用

所以,compose的优势就在于,它是一个完全的声明式UI,我们只管把界面声明出来后,当数据变化时,我们不用手动去更新,它会自己帮我们更新数据,并显示最新的数据,省去了我们去做界面更新的工作。

传统 UI 能做到的事,Compose 都是可以做到的:比如自定义绘制、自定义布局、自定义触摸,还有动画,Compose 都是可以做到的。

(2)去掉了xml

这是compose的第二个优势,它抛弃了 xml 的同时还保持了写法的简单,完全解除了混合写法(xml+Java、kotlin)所带来的局限性,让我们写Ui更快速。

二、Compose API 的原则

1.一切都是函数

2.顶层函数(Top-level function)

3.组合优于继承

4.信任单一来源

上一篇 下一篇

猜你喜欢

热点阅读