美文网首页
01_Compose学习笔记序

01_Compose学习笔记序

作者: 刘加城 | 来源:发表于2022-12-30 17:07 被阅读0次

        写这些博客的目的,主要是是为了学习、记录和分享。看到一些大神的博客,有的甚至过去10多年了,仍然有很多人访问,很多人阅读,不由心向往之。所以自己也尝试着写一写。

        对于JetPack Compose,我现在也只是一个初学者、好奇者。这些关于JetPack Compose的学习笔记,是在自己的理解上,对官方文档加以概括和总结。所以这些笔记并不在于追求全面、完整和精确。有所侧重也是必然的。又受时间、精力所限,它们也没有精确的结构划分。某种程度上,可以说是写到哪算哪。如果能吸引到一些朋友,那也是令人高兴的事。

        简单介绍一下JetPack Compose(后续简称为Compose)。Compose是Google近几年推出的、采用Kotlin编写的一款新的声明式界面工具包。顾名思义,它是工作在View层面的,旨在替代原来的Android View-ViewGroup体系结构。它的主旨是通过状态的改变,来驱动界面更新,并且这是唯一的方式。UI一旦确定,之后不能再更改。Activity都拿不到这些UI组件的引用,无法调用它们的成员方法。以前View体系中的硬代码方式、addView、removeView、findView等都不能使用了。这种方式的好处是将所有的控制权从开发者手中收回,放置在Compose 工具包中,能避免一些错误,并且一切都变得可控了。如果数据发生了改变,需要更新界面,那么修改对应的状态即可。这种思想现在变得非常的流行,比如Flutter中的Dart语言描述的UI Widget树、React Native中JS描述的控件树,都是类似的设计。Compose也算是赶赶时髦。

        那么Compose和原来的View体系是什么关系呢?答案是:Compose是View体系的一种延伸,一种变体。ComposeView是Compose UI的核心和基础,而它是ViewGroup的间接子类。看到这里,应该可以理解了。ComposeView是一种特殊的ViewGoup,Compose并没有完全从View体系独立出去。这种特殊的ViewGoup,也是遵循原来View体系的measure、layout、draw三大基本过程的,事件分发等也一样。不过从ComposeView起,几乎所有的子组件都发生了变动,遵循新的设计思想。

        接着介绍一下Composable,它的中文翻译是“可组合项”。这些可组合项,是指可以在ComposeView中使用的项。Compose不再使用xml来描述界面,而是用Composable来代替。Composable Function(可组合项函数)就是用来生成、配置、组合这些Composable的。将一个函数加上一个@Composable注解,就表示它是一个可组合项函数。函数体包含各种Composable的创建、排列以及样式设置等。

        最后说明一下,这些笔记的顺序,是和我当前的学习进度相关的。一些在此之前学习过的,就没有写出来。后续如果有时间,可能会考虑整理出来。

相关文章

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • Selenium学习笔记目录

    Selenium学习笔记目录(倒序) Selenium学习007-使用技巧 Selenium学习006-查询123...

  • Matlab学习笔记(序)

    堕落良久,自觉有愧于心,之前已自学部分Matlab,但时日良久,早已忘却。又本学期开设数字图像处理与数据挖掘两门课...

  • 前端学习笔记 - 序

    本系列文章主要是为了记录自己在前端开发学习过程中的一些心得笔记。在文章的序中,我列出了希望在前端有所深入了解的内容...

  • folly学习笔记-序

    1. 背景 folly是Facebook开源库 的缩写,包含一系列核心库,很多时候都是作为其内部C++项目的依赖库...

  • [xactor]学习笔记--序

    最近学习CSP模型和actor模型,actor模型没有玩过。所以开始学习。actor模型在rust语言下有 Xac...

  • Rust 学习笔记-序

    github地址:https://github.com/bradyjoestar/rustnotes(欢迎star...

  • IP地址和子网划分学习笔记之《预备知识:进制计数》

    转载自 IP地址和子网划分学习笔记之《预备知识:进制计数》 一、序:IP地址和子网划分学习笔记开篇 只要记住你的名...

  • 临《圣教序》之书法笔记

    10月19日至25日书法笔记 本周我们临习《圣教序》,《圣教序》全名《怀仁集王羲之书圣教序》,在没有学习该...

  • 《京瓷哲学》 读书笔记

    2019.11.28《京瓷哲学》学习笔记: 推荐序:人类社会需要利他哲学。 第三遍读此书,更需好好写笔记。 稻盛先...

网友评论

      本文标题:01_Compose学习笔记序

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