二、Compose的编程思想

51 阅读1分钟

Compose 编程思想

 2.1、Compose 是声明式编程 

 2.2、可组合函数 请看下面的一个可组合函数

定义

@Composable
fun Greeting(name: String, isShowName: Boolean) {
    val showName = if (isShowName) "显示" else "不显示"
    Text(
        text = "Hello $name $showName",
    )
}

(1)可以定义一组接受数据,比如方法的参数 

(2)界面元素,比如Text组件

通过这这两个部分就可以构建页面。 

特点: 可组合函数中不止可以写页面,还可以将页面的逻辑写好。

VS 视图树的方式 

视图树的方式,首先是xml和逻辑分开,解耦,然后想更新UI的时候, 首先要通过findViewById来找到控件,然后通过setText来设置数据。

2.3、重组 

什么重组?

视图树的方式中,如果我们想要修改某个控件,需要调用控件的方法。 

而在Compose中,可以调用可组合函数,这样就会导致可组合函数重组。 那么什么是重组呢? 重组就是系统根据新数据来调用可组合函数,而Compose可以重组已经更改的组件。

高效的重组? 

当Compose根据新数据进行重组时,它仅仅会去调用已经可能更改的函数或者lambda, 而不会去修改其他的函数或者lambda,尽量保证最小更改原则,这样就能高效的重组了。