作者:HyejeanMOON
转载地址:https://juejin.cn/post/7098975953199726606
因为在iOS14中推出的小组件的功能,让大家重新开始关注起小组件了。虽然安卓是很久之前就有了小组件的功能,但是因为它的不美观和不实用,以及对开发者也不够友好,逐渐变成为废弃的状态。
直到Android12,再一次更新了小组件的的相关功能,并且为了减少开发者的负担而推出了Jetpack Glance库。该库是基于Compose,是开发者利用Compose的命令快速上手进而减少开发成本。
那让我们开始探究一下Glance吧。
1. 加上库的依赖
把下面的依赖信息添加到app的build.gralde文件中。
dependencies {
implementation("androidx.glance:glance:1.0.0-alpha01")
}
android {
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.1.0-beta03"
}
kotlinOptions {
jvmTarget = "1.8"
}
}
2. 继承GlanceAppWidget类
我们需要继承GlanceAppWidget类然后重写Content方法。
class GlanceWidget : GlanceAppWidget(){
@Composable
override fun Content() {
// write compose ui code here
}
}
在Content方法内写我们已经很熟悉的Compose UI语句就可以了。
但是这里有一点需要格外的注意。我们在使用Compose UI组件时需要使用glance的提供UI组件。 而不是Compose Material的UI组件。
组件的具体路径如下:(以Text为举例) Glance提供的Compose UI组件: androidx.glance.text.Text
Compose Material提供的Compose UI组件:androidx.compose.material.Text
Glance提供的所有Compose UI组件列表如下:
Box, Column, Row, Text, Image, Button, LazyColumn, Spacer.