美文网首页
JetPack Compose 粗浅理解

JetPack Compose 粗浅理解

作者: eagle006 | 来源:发表于2023-01-02 20:49 被阅读0次

    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.信任单一来源

    相关文章

      网友评论

          本文标题:JetPack Compose 粗浅理解

          本文链接:https://www.haomeiwen.com/subject/ayhhcdtx.html