您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

桌面版Jetpack Compose:里程碑1发布 <电影网站源码>

  • 时间:2022-08-14 00:42 编辑: 来源: 阅读:293
  • 扫一扫,手机访问
摘要:桌面版Jetpack Compose:里程碑1发布 <电影网站源码>
深入讲解Jetpack Compose |优化UI构造,Google详细解释了为什么设计Jetpack Compose是为了完成原生Android的开发。现在,Jetpack Compose for Desktop的诞生也显示了谷歌对Compose开发的认可和投入。 2020年11月5日,Jetpack Compose for Desktop终于发布了第一个里程碑版本。Jetpack Compose作为新一代的Kotlin UI框架,可以快速构建高性能、美观的客户界面。 更简单的桌面UI开发Compose for Desktop提供了一种通知和响应方法。通过使用Kotlin创建客户界面,其API参考了其他现代框架(如React和Flutter)。 本质上,Compose for Desktop允许开发者通过复合函数在代码中公布桌面UI,它会自动响应应用的状态同步。 这个项目基于Google的Jetpack Compose,这是一个用于Android的UI开发包。Compose for Desktop可以将在Android上使用Jetpack Compose的能力直接转移到Compose for Desktop上,反之亦然。 Compose for Desktop提供的所有核心API都和手机提供的一样,包括修改器、UI元素或者布局单元等待。 实际上,Compose for Desktop的核心是与Jetpack Compose合作开发的,这样这两种技术就可以共同开发,使得桌面和Android之间共享UI成为可能。 桌面版Compose的介绍非常简单。设置好项目依赖关系后,开发者只需用几行代码就可以表达一个简单的有状态客户界面,还有现成的材质设计元素库帮助快速创建UI。 import Android x . Compose . Desktop . Window import Android x . Compose . foundation . Text import Android x . Compose . material . * import Android x . Compose . runtime . * fun main()= Window(title = " Compose for Desktop "){ var count by remember { mutable state of(0)} material theme { Button(onClick = { count++ }){ Text(if(count = = 0)" Hello World " else " Clicked $ count!")}}}但是Compose for Desktop不仅仅是一个UI元素,它的基本功能可以在Android的相应版本中找到。 桌面专用API为了让开发者的应用与桌面UI的其余部分集成,Compose for Desktop自带了桌面专用API,主要用于特定的桌面功能。它们的结构与其他Compose API相同,允许开发人员的应用程序响应鼠标指针等事件,查询和操纵应用程序的窗口大小和位置,并创建任务栏图标或菜单栏条目。 fun main(){ Window { var windowSize by memory { mutable state of(IntSize。zero)} var window location by memory { mutable state of(into offset。Zero) } AppWindowAmbient.current?。apply { events . onresize = { window size = it } events . onrelocate = { window location = it } } Text(Text = " location:$ { window location } \ nsize:$ { window size } ")} Google希望这些桌面API能够尽快覆盖所有相关功能。因此,有必要了解当前版本中缺少哪些集成。因此,Google可以优先考虑这些接口的升级,欢迎您的反馈到:https://blog . jets . com/cross-post/jetpack-Compose-for-Desktop-milestone-1-released/快速迁移和集成就像Kotlin本身一样,Compose for Desktop也遵循操作简单、迁移流畅的理念,让Compose for Desktop可以与Swing和AWT集成,让开发者的Compose for Desktop应用可以解锁这些Java图形API。这种集成还允许开发人员使用这些框架逐步迁移应用程序,为桌面进行组合。 fun main()= Window(title = " JFrame properties "){ var alwayson top by remember { mutable state of(false)} on commit(alwayson top){ val JFrame = app manager . focused Window?。窗口jFrame?。let { //使用特定于JFrame的方法it . isalwayson top = alwayson top } } material theme { Column { Button(onClick = { alwayson top =!always on top }){ text(" toggle always on ")} } }为了让开发更加灵活,Google还公开了原生Skia图形库提供的API,支持Compose for Desktop的底层渲染,让开发者可以完全控制应用的渲染方式。 学习桌面作曲。如果你想尝试一下,建议阅读入门教程,它详细介绍了设置和运行Compose for Desktop所需的基本步骤。此外,您还可以在此处查看其余教程,这些教程涵盖了一系列主题,如操作图像、解决鼠标事件、发送桌面通知等。 这些内容都可以在这里找到:https://jetbrains.com/lp/compose/? Ga = 2.7908593 . 1107796495.1604632959-1270162959 Android开发者门户是Jetpack Compose主要学习资料的来源,提供了很多关于核心API概念的见解。Compose for Desktop也提供了这些概念。有关Compose模型及其基本API的概述,请参见Jetpack Compose Pathway,其中包括文章、视频和其他内容主题。 如果你想理解一个更复杂的桌面排版的例子,你可以看看Google的演示应用。演示还包括一个如何使用Kotlin多平台在桌面和Android之间共享客户界面的示例。 发布前注意事项:这是Compose for Desktop的第一个里程碑版本,这意味着开发者可能会遇到各种各样的问题。在第一个稳定版本发布之前,Compose for Desktop提供的一些API可能仍会发生变化。当然,Gogole也在努力争取第一个稳定且有生产力的版本。 提供反馈里程碑版本是开发者提供反馈的最重要时间,因为这将使谷歌在稳定版本发布之前处理关键问题或包含其他功能。如果您在使用Compose for Desktop时有任何问题,或者如果您发现任何特定于桌面的API没有涵盖的示例,请在项目的问题中让我们知道:JetBrains/compose-jb/issues。 如果你还想和团队成员交流,Google也邀请你加入关于Kotlin Slack的讨论。 在#Compose-desktop中,可以找到关于针对桌面的Compose的讨论,在#Compose中,还可以讨论Android上Compose和Jetpack Compose的相关问题。 我希望您在使用Compose for Desktop构建客户界面时能够获得乐趣!原链接:https://blog . jets . com/cross-post/jetpack-compose-for-desktop-milestone-1-released/


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【域名/主机/服务器|】qq邮箱提醒在哪里打开(2024-06-04 18:58)
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部