首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

原创|Android Jetpack Compose 最全上手指南

因为Android Studio 4.0 添加了Jetpack Compose 的支持,新的Compose 模版和Compose 及时预览。...setContent的部分移到外面,抽取到一个composable函数,然后传递一个参数name 给 text元素。...} 四、布局 UI元素是分层级的,元素包含在其他元素。在Jetpack Compose,你可以通过从其他composable函数调composable函数来构建UI层次结构。...添加Shape样式 Shape是Material Design 系统的支柱之一,我们来用clip函数图片进行圆角裁剪。...本例所示,我们设置显示最大行数为2,多于的部分截断处理: Text("我超❤️JetPack Compose的!写起来简单,复用性又强,可以抽取很多组件来复用,不用管理复杂的状态变更!"

6.2K20

Jetpack Compose Beta 版现已发布!

时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来的项目或功能中使用该工具包。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能 和 测试 相关的指导内容,以及针对 动画、列表 或 Compose 的编程思想 的深入探讨。...第二周挑战正在进行,点击此处 了解详情。 随着 Jetpack Compose Beta 版的推出,针对 1.0 版的稳定 API 和功能均已构建完成。...现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来的项目中使用该工具包。...我们期待收到您对在应用采用 Compose 的 反馈,您也可以在 Kotlin Slack 的 #compose 频道参与讨论或在下方留言区和我们分享。

5.6K10

FAQ | 为大屏幕设备构建应用的常见问题解答

在竖屏中大堆组件或元素占据设备边缘很合理,但在横屏,用户大多数时间是双手持握设备,横跨两个边缘的元素就会占用大量空间且非常的显眼,这会给用户一种感觉——界面很笨拙,所以应尽量避免边缘停靠,考虑用其它方式放置组件和元素...如果您正在考虑重写部分界面或整个应用,那么 Jetpack Compose 也是很好的选择之一。...所以强烈建议您优先选择使用 Jetpack Compose。...大家所知可折叠设备层出不穷,我们推出了 Jetpack WindowManager 库,帮助开发者对应用做出调整,以充分利用可折叠设备为用户提供全新的体验。...答: 如果您想从头构建应用,强烈建议您优先考虑使用 Jetpack Compose

3.5K10

掌握 Jetpack Compose 的 State,看这篇就够了

,不要错过 :-)Jetpack Compose 的状态State是什么在 Jetpack ,state表示一个和 UI 状态相关的值。...通过修改状态更新可组合项目随着我们越多地使用 Compose 自带的可组合项(Scaffolds、BottomSheet、Drawer等),我们会意识到在 Jetpack Compose 状态是无处不在的...这是 Jetpack Compose 很常见的修改状态的模式。...这些拓展方法会帮我们把响应式的实例转换成 Jetpack Compose 的状态实例。如何在 Jetpack Compose 中使用 Kotlin 的 Flow?...:InputText 的延迟和对应的规避方式如何在 ViewModel 中表示状态如何将 Android 其他表示类型的状态转成 Jetpack Compose 的状态希望能对你有帮助。

7.5K111

动画实现更简单,Navigation Compose 帮您忙

这里有个很大的课题是页面级的过渡动画,这也是 Navigation Compose 一直致力解决的问题,具体是满足下面三种场景: 仅使用 Compose 1.0.0 稳定的动画 API 开始 Compose...1.0.0 存在的实验性动画 API 提供支持 构建在 Compose 1.1.0 及更高版本面向未来的动画 API (共享元素过渡) 每一种情况的实现方法都稍有不同,我们将在本文中介绍。...在追求完美的动画 API 的过程 Compose 进行了大量的修改才一步步迭代到 版本 1.0.0。...这些稳定的 API 进行破坏性变更需要增加主版本号 (,'2.0')。 这对向前和向后兼容很友好。...随着 Jetpack Compose 不断发展,不断超前的需求而言,Accompanist 是一个巨大的福音。

1.9K20

Android Compose开发

可组合函数是一种特殊的函数,不需要返回任何 UI 元素,因为可组合函数描述的是所需的屏幕状态,而不是构造界面 widget;而如果我们以前的 XML 编程方式,必须在方法返回 UI 元素才能使用它(...您可以使用修饰符来执行以下操作: 更改可组合项的大小、布局、行为和外观 添加信息,如无障碍标签 处理用户输入 添加高级互动,使元素可点击、可滚动、可拖动或可缩放 修饰符是标准的 Kotlin 对象。...的文字 | Jetpack Compose | Android Developers 自定义图片 | Jetpack Compose | Android Developers val...: runtime-livedata: 1.5.1" } 传统 LiveData 的用法在 Compose 并不好使,因为传统 LiveData 依赖于监听某个值的变化,并相应的界面进行更新,而 Compose...它是 Jetpack Compose 处理异步任务和副作用的重要工具之一 itemData?.

27810

Jetpack Compose 现已支持 Material You | 2021 Android 开发者峰会

这意味着 1.1 的新 API 现已稳定,可以为您提供新的功能并带来性能提升。...这是使用 Jetpack Compose 构建 Material You UI 的全新工件,可提供更新的 组件 和 颜色系统,其中包括 动态配色 的支持,因此开发者可以根据用户的壁纸创建个性化的调色板...更多 Jetpack Compose 的指南和文档 我们发布了大量关于 Jetpack Compose 的技术分享,深入探讨了布局、动画和状态,展示了如何在 Wear OS、主屏幕微件 (widget)...我们还扩展了 Compose 文档,增加了针对 Jetpack Compose 不同阶段 的新指南、构建自适应布局,还扩展了 主题设置指南,包括 Material 3 的指南。...Handoff 最后,我们 抢先介绍 了一些用于设计接力 (Handoff) 的新工具,使您能够导出在 Figma 设计的组件,以生成通用的 Jetpack Compose 代码。

2.7K30

写给初学者的Jetpack Compose教程,为什么要学习Compose

我记得我应该是在很早的阶段就Jetpack Compose进行了尝鲜,但当时体验下来的结果让我直摇头。...要知道,那个时候网上关于Jetpack Compose的资料还很少,好不容易找到一篇讲解的文章,照着去实现的时候发现API已经变了,文章的写法连编译都过不去。...这个大家一定熟悉,就是先调用findViewById()方法来获取到这个View的实例,然后再通过setXXX来更改它的状态,setVisibility、setBackground等等。...现在,你已经Compose和声明式UI有一点点的了解了。刚才我们有说到,要对过程式和声明式的写法进行一下对比,现在就来看看吧。...今天的这篇文章是这个系列的序章,我们还并没有通过一个实际可运行的例子来去学习如何编写Compose程序,但是希望这篇文章能提起大家Compose的兴趣,我们会在本系列后续的文章当中慢慢上手Compose

62320

Android Jetpack 学习笔记(1) - 概述

消除样板代码: Jetpack 可以管理各种繁琐的后台任务、导航和生命周期管理等。 减少不一致: Jetpack 的组件库可在各种 Android 版本和设备以一致的方式运作,助您降低复杂性。...Jetpack 包含的组件库 热门程度展示Jetpack组件库如下: - - activity * 访问基于 Activity 构建的可组合 API。...compose * 使用描述界面形状和数据依赖项的可组合函数,以编程方式定义界面。 databinding * 使用声明性格式将布局的界面组件绑定到应用的数据源。...使用 AppCompat 的应用兼容 AppCompat 为各种 UI 元素和平台功能提供了向后移植,比如 Material 主题到像Toolbar、dark 主题这样的小部件。...Jetpack Compose — Android 的新 UI 工具包 Jetpack Compose是 Android 的全新现代 UI 工具包,此版本添加了许多新功能:视图互操作性、更多 Material

1.3K20

Jetpack-Compose 学习笔记(一)—— Compose 初探

前提条件, Kotlin 语言熟悉,因为 Compose 都是用 Kotlin 语言开发实现的,其他的 Jetpack 库熟悉就更好了。 Compose 可以和现有的工程项目进行互操作。...另外还需将 app 目录下的 gradle 文件启用 Jetpack Compose,并设置 Kotlin 编译器插件的版本。...此外,属性的信息文本应该存放在本地资源 res 目录下的 string 或类似的地方。" 额。。。...还有几个值得注意的 Tips: 1、Composable 函数可以任何顺序执行 如果某个 Composable 函数包含有几个 Composable 函数,那么这些 Composable 函数可能任何顺序运行...,Compose 会识别出哪些界面元素的优先级高于其他的界面元素,从而优先绘制这些元素

2K10

Jetpack Compose 1.0 正式发布!打造原生 UI 的 Android 现代工具包

Compose 可以原生访问既有的 Android 代码,这意味着您可以自己的节奏采用它。...您可以只在屏幕上添加一个按钮,也把自己创建的自定义视图保留在现在用 Compose 打造的界面Jetpack 集成 : Compose 和大家熟知且喜爱的 Jetpack 开发库 天然整合。...为了支持新的工作流程和不同的思维方式,我们正在提供新的工具,专为 Compose 而设计,并在一些现有工具增加对 Compose 的支持。...通过字词的实时编辑,您可以实时看到更新,而无需重新编译项目。...为了帮助您做出明智的决策,确定现在是否是采用 Compose 的合适时机,我们给出了一个 公开的路线图,和大家分享我们 Jetpack Compose 的后续构建计划: image.png 学习 Compose

1.8K20

一起看 IO || Android 开发者不能错过的 13 件事

Modern Android Development (现代 Android 开发) #1: Jetpack Compose Beta 1.2,支持更多高级用例 Android 的现代用户界面工具包 Jetpack...Compose 继续带来您所需要的 API,以支持更多的高级用例,可下载字体、LazyGrids、窗口边衬区、嵌套滚动互操作,以及更多的工具支持,如实时编辑 (LiveEdit)、重绘调试 (Recomposition...适用于 Wear OS 的 Jetpack Compose 现在处于 Beta 阶段,您可以用更少的代码创建出精美的 Wear OS 应用。...今天,我们通过 Jetpack Health 开放了 Health Connect 的使用。请阅读我们发布的 文章 或观看 I/O 演讲视频 以了解详细信息。...您可以对这些新技术进行初步测试,评估您如何在自己的解决方案采用这些技术,并与我们分享反馈。

2.2K20

Jetpack Compose终于能稳定支持Wear OS,并带来了适用于手机和平板的1.2版本更新

在发布 Jetpack Compose 1.2 版本的同时,官方还发布了 Compose for Wear OS 1.0 ——使得 Compose 也支持 Wear OS 应用开发。...Jetpack Compose 是官方推荐的为手机、平板和可折叠设备开发新安卓应用的框架。...智能手机应用程序开发人员在 Compose 1.2 获得了一些重要更新。Lazy grids,通过只对网格的可见部分进行合成来提高性能,已经从实验阶段转为稳定阶段。...安卓开发有很多方式,包括使用 Dart 语言的跨平台框架 Flutter,或其他方法, React Native。...“你应该押注 Jetpack......Flutter 简单的应用来说是很好的选择,但却不适合复杂的场景,”Hacker News 的一位开发者声称。

1.4K20

使用 Jetpack Compose 提升 Play 商店的用户体验

为了让 Jetpack Compose 的使用体验更上一层楼,以及了解大家 Compose 开发、学习方面的内容需求,这里诚邀您参与 Jetpack Compose 使用情况调研, 点击这里 即刻参与调研...优先考虑 当我们新的界面渲染层使用 Jetpack Compose 时,需要优先考虑以下两点: 开发者的工作效率 : Play 商店团队有数百个工程师改进代码,因此开发起来应该很容易 (也很有趣)。...在最初的集成实验,我们遇到了双栈问题: 在单个用户会话同时运行 Compose 和视图类渲染非常占用内存,尤其是在低端设备上。...同时我们发现,在应用迁移到完全使用 Compose 进行渲染使用之前,一些通用类进行一定的 "预热" 是有助于提高内存性能的。...我们与 Jetpack Compose 团队合作,推出 LazyList 项目类型缓存 等功能,并快速进行轻量级修复, 额外的对象分配。

3.2K40
领券