当前位置: 首页 > news >正文

怎样可以做网站热点时事新闻

怎样可以做网站,热点时事新闻,平台交易,建立平台什么意思使用Jetpack Glance创建Android Widget Jetpack Glance发布,让我们使用Google提供的Jetpack Glance创建一个联系人列表小部件。 https://developer.android.com/jetpack/compose/glance 什么是Glance? Jetpack Glance是一个使用Kotlin API创建小型、轻…

使用Jetpack Glance创建Android Widget

Jetpack Glance发布,让我们使用Google提供的Jetpack Glance创建一个联系人列表小部件。

https://developer.android.com/jetpack/compose/glance

什么是Glance?

Jetpack Glance是一个使用Kotlin API创建小型、轻量级和高效的应用程序小部件的框架。它设计用于显示用户需要一目了然的信息。

我们将构建什么?

正如我在开头提到的,我们将构建一个联系人列表小部件。以下是它的样子。

设置
根据您需要的功能,在应用程序模块中添加依赖项。

dependencies {// For AppWidgets supportimplementation("androidx.glance:glance-appwidget:1.0.0-beta01")// For interop APIs with Material 2implementation("androidx.glance:glance-material:1.0.0-beta01")// For interop APIs with Material 3implementation("androidx.glance:glance-material3:1.0.0-beta01")
}

创建ContactListWidget

创建一个名为ContactListWidget的新kt文件。我们首先要做的是继承GlanceAppWidget。然后,覆盖provideGlance函数。在这里,我们将构建小部件的UI。

打开provideContent块,这个方法非常类似于setContent,它允许我们使用Jetpack Compose的composables

override suspend fun provideGlance(context: Context, id: GlanceId) {provideContent {// ...}
}

在创建小部件之前,让我们为它创建一个主题。

主题

首先,我们要创建一个colorScheme。在我的例子中,我只是从应用程序主题中删除了private属性,然后在这里调用了它们。

private val colorScheme = ColorProviders(light = LightColorScheme,dark = DarkColorScheme
)

之后,我们可以调用GlanceTheme并将新的colorScheme传递给它。

override suspend fun provideGlance(context: Context, id: GlanceId) {provideContent {GlanceTheme(colors = colorScheme) {ContactListWidget.Widget()}}
}

现在让我们在这个类中创建一个名为Widget的单独函数,并用@Composable注解它。

记得导入Glance组件,而不是material组件。另外一件事是,Glance组件使用GlanceModifiers

@Composable
private fun Widget() {Box(modifier = GlanceModifier.background(GlanceTheme.colors.background).padding(15.dp).cornerRadius(20.dp) // Only works for Android versions >= 13) {LazyColumn {items(10) {Row(modifier = GlanceModifier.padding(vertical = 10.dp,horizontal = 5.dp).clickable {// Call the person},verticalAlignment = Alignment.CenterVertically) {Image(provider = ImageProvider(R.drawable.person),contentDescription = null)Spacer(modifier = GlanceModifier.width(10.dp))Text(text = "John Doe")}}}}
}

我们还需要创建一个GlanceAppWidgetReceiver。这将创建我们将在屏幕上看到的小部件视图。

class ContactListWidgetReceiver : GlanceAppWidgetReceiver() {override val glanceAppWidget: GlanceAppWidgetget() = ContactListWidget
}

现在我们需要创建一个XML文件,用于设置小部件的一些属性。Right-click on res > New Resource File

xml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"android:description="@string/app_name"android:minWidth="80dp"android:minHeight="80dp"android:resizeMode="horizontal|vertical"android:widgetCategory="home_screen" />

最后,添加receiver到AndroidManifest.xml

<manifest><application><receiverandroid:name=".ContactListWidgetReceiver"android:exported="true"><intent-filter><action android:name="android.appwidget.action.APPWIDGET_UPDATE" /></intent-filter><meta-dataandroid:name="android.appwidget.provider"android:resource="@xml/contact_list_widget_info" /></receiver></application>
</manifest>

GitHub

https://github.com/daniatitienei/GlanceWidgetCourse.git

http://www.hkea.cn/news/580595/

相关文章:

  • 设计师个人网站怎么做百度优化培训
  • 广东海外建设监理有限公司官方网站2345网址导航是病毒吗
  • 深圳网站制作培训宁波网络营销公司
  • 网站建设方案书 模板长清区seo网络优化软件
  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件
  • 郑州做网站公司dz论坛如何seo
  • 十堰商城网站建设网络营销seo优化
  • 小欢喜林磊儿什么网站做家教福州seo推广外包
  • 许昌网站开发博客营销
  • 做网站用jquery爱站网关键词挖掘
  • wordpress手动裁剪seo营销推广服务公司
  • 英文网站建设网站海南网站制作公司
  • 网页设计与网站建设主要内容软文营销的特点
  • 一起做网站17广州最新小组排名
  • 最专业的网站设计公司有哪些论坛企业推广
  • 单页网站怎么做外链个人网页
  • 宁波城乡住房建设局网站有效的网络推广
  • 网站建设 深圳销售crm客户管理系统
  • 高端网站开发设计站长之家字体
  • 免费网站建站工具购买域名的网站
  • 淘宝联盟怎么做网站百度网站提交
  • 前端做用vue做后台多还是做网站多青岛网站快速排名优化
  • 岳阳网站开发公司海淀区seo多少钱
  • 2017年做网站维护总结百度搜索软件
  • 南京网站建设公司点击器原理
  • 网站怎么编辑搜狗网站提交入口
  • 自建网站做外贸的流程广告推广方式
  • 警告欺骗网站模板免费注册