首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jetpack Compose 1.1 现已进入稳定版!

作者 / Android 开发者关系工程师 Florina Muntenescu 我们一既往地搭建 产品路线图,现在已经发布了 Jetpack Compose 1.1 版本,这是 Android...如果您发现此更改破坏了现有的布局逻辑,请将 LocalMinimumTouchTargetEnforcement 设置 false 来禁用此行为,但此操作可能会降低应用可用性,因此需要您格外注意,并谨慎使用...您可以使用 Modifier.animateItemPlacement() LazyColumn/LazyRow 项目位置进行动画处理。...您可以使用全新 BringIntoView API 向父级发送请求,以便父级滚动,将项目引入视图。 您可以使用 @OptIn 以试用这些全新 API,并向我们提供反馈!...欢迎您继续与我们分享您反馈,帮助我们让 Compose 变得更好!

1.1K20

欢迎体验 | Wear OS 版 Compose 开发者预览版

除此之外,您在使用 Jetpack Compose 构建移动应用经验,也可以直接运用在 Wear OS 版本上。...就像在移动设备上一样,欢迎您立即着手测试,我们也希望在发布 Beta 版前,将您 反馈 纳入库早期迭代。 本文将回顾我们构建几个主要可组合项,并介绍帮助您开始使用多种资源。 现在就开始吧!...开发者可以继续使用其他与 Material 相关开发库, Material 涟漪和通过 Wear Compose Material 开发库进行扩展 Material 图标。...Scaffold 可支持 Wear 专属布局,并提供时间、曲线文本样式及滚动/位置指示器等顶层组件。...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

从0上手Jetpack Compose,看这一篇就够了~

设置字体大小颜色方法以及Button组件,这是我们之前没有提到过。...快来一起学习一下吧~ 延迟列表组件 Compose我们提供了LazyColumn和LazyRow组件,相当于XMLRecycleView组件,从名字我们也可以知道一个是垂直滚动一个是水平滚动。...我们先来看垂直滚动列表组件 —— LazyColumn。...实现这一功能需要使用Compose状态,接下来我们就一起学习Compose状态吧~ Compose状态 我们说Compose是声明式,与之对应XML是命令式,以文本设置例,命令式之所以被称之为命令式...不知道你有没有发现,截图中顶部和按钮颜色都是褐色,并且文字也有默认颜色,这都是Compose主题帮我们设置,最后我们一起简单了解一下吧~ Compose主题 在初识Compose项目中,我们已经知道

56731

写给初学者Jetpack Compose教程,Lazy Layout

但由此我们也可以看出,Compose我们编写UI界面提供了太多便捷和可能性。 LazyColumn和LazyRow Lazy Layout只是一个可复用列表统称,事实上并没有这样一个控件。...,效果如下图所示: 所以,Lazy Layout用法核心,基本就是在LazyColumnLazyRow闭包添加一个items函数,并且将我们列表数据源传递给这个函数即可。...因此最好设计方案就是,当用户向下滚动列表时,我们就认为用户不再需要和Fab按钮交互,此时将按钮进行隐藏。 下面具体看一下如何在Compose实现这种效果。...由于SubVerticalScrollable()滚动列表高度是固定,我们设置成了300dp,因此这种情况也是合法,运行效果如下: 除了这两种情况以外嵌套滚动都是不合法Compose也不会惯着我们...这是因为debug包会包含许多冗余代码,这些代码也会影响程序运行效率,你只要再打一个release包就会发现滚动丝般顺滑了。 既然如此,我们上述Lazy Layout代码就没有任何性能问题了吗?

34310

Jetpack Compose Beta 版现已发布!

时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来项目功能中使用该工具包。...) 及设备模拟器上实时更新文字 动画预览: 检查并播放动画 布局检查器 Compose 支持 交互式预览: 检查并与单独 Composable 交互 部署预览: 无需完整应用即可在您设备上部署...Compose 完全使用 Kotlin 构建,可利用其优秀 语言特性 提供功能强大、简洁且直观 API。例如,借助 协程,我们可以编写更简单异步 API,描述手势、动画滚动。...我们会提供各种指南来帮助您快速入门, 架构、无障碍功能 和 测试 相关指导内容,以及针对 动画、列表 Compose 编程思想 深入探讨。...现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来项目中使用该工具包。

5.6K10

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

还需要将应用最低 API 级别设置 21 更高,即 Android 5.0 版本及以上。...另外还需将 app 目录下 gradle 文件启用 Jetpack Compose,并设置 Kotlin 编译器插件版本。...这个属性信息应该都要提供,除非此图只是用于装饰目的,或者并没有表示用户有特殊意义操作。此外,属性信息文本应该存放在本地资源 res 目录下 string 类似的地方。" 额。。。...不会像 RecyclerView 一样缓存列表布局,而是在滚动浏览它时,它会渲染新列表 View,并没有回收机制,但是相比于实例化 Android View,渲染 Composable UI 组件效率更高...darkTheme: Boolean = isSystemInDarkTheme(), // 默认根据系统来设置是否暗夜模式 content: @Composable () -> Unit

1.9K10

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

作者 / 开发者关系工程师 Nick Butcher 上个月,Android 开发者峰会 Jetpack Compose 带来了许多 激动人心更新,包括 Google 新设计语言 Material...更多 Jetpack Compose 指南和文档 我们发布了大量关于 Jetpack Compose 技术分享,深入探讨了布局、动画和状态,展示了如何在 Wear OS、主屏幕微件 (widget)...我们还扩展了 Compose 文档,增加了针对 Jetpack Compose 不同阶段 新指南、构建自适应布局,还扩展了 主题设置指南,包括对 Material 3 指南。...布局检查器 支持 Jetpack Compose 混合 UI,还可提供 检查语义 功能。...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

2.7K30

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

Jetpack Compose动画实现门槛降低了——从 "如果有时间再慢慢打磨" 到 "动画实现很简单,没有理由不试试看了"。...因此,如果您使用了任何一个基于这些实验性 API 构建库,当您更新了您使用 Compose 版本但没有同时更新这些库版本时,这些库可能会直接崩溃并构建失败。...这意味着想要设置默认动画 (例如,交叉淡入淡出时机),只需要在您 AnimatedNavHost 修改全局 enterTransition 和 exitTransition。...——这样一来,我们进入登录子图和离开登录子图过渡动画将使用默认值 (或者您在更高一级设置任何过渡动画)。...️ 欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。

1.8K20

Jetpack Glance Alpha 版现已推出

现在,我们发布了 Jetpack Glance 第一个 Alpha 版,让 Widgets 构建过程变得更加轻松,该版本是建立在 Jetpack Compose 运行时 (Runtime) 之上新框架...Glance 利用 Jetpack Compose 运行时 (Runtime),可以将 可组合项 转化为实际 RemoteViews,并在 App Widgets 显示。...但是,您可以分享应用状态任何其他逻辑,以此来打造一目了然界面。...也可以在最新 稳定版 Android Studio 中使用 Glance,但首先需要按照 Jetpack Compose 文档 步骤进行设置,因为 Glance 依赖于 Compose 运行时 (...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

82210

Row本身是不支持滚动,如何实现滚动

似乎不支持一个水平滚动嵌套垂直滚动(垂直滚动嵌套水平滚动),所以相应布局需要合理设计 此外,提及下,如果想使用像ListViewRecyclerView那样列表组件,在Compose可以使用LazyRow...LazyColumn,这部分内容之后会讲解到,敬请期待 verticalAlignmentment 取值有三个值: Alignment.CenterVertically 居中 Alignment.Top...,一般使用modifier修饰符来设置宽高占位来达到margin效果 Card 官方封装好Material Design的卡片布局 复制fun Card( modifier: Modifier...= null, elevation: Dp = 1.dp, content: @Composable () -> Unit ) shape 形状,使用详见Jetpack Compose学习...border 边框,使用详见Jetpack Compose学习(3)——图标(Icon) 按钮(Button) 输入框(TextField) 使用 | Stars-One杂货小窝 elevation

1.8K30

Jetpack-Compose 学习笔记(二)—— Compose 布局你学会了么?

查看源码会发现,在 ContentAlpha.kt 中将 LocalContentAlpha 同样使用了 compositionLocalOf 方法设置了它默认 1f,而在这里就重新赋值 0.74f...覆盖颜色取决于这个 Surface 高度,以及任何父级 Surface 设置 LocalAbsoluteElevation。...List 布局使用 在笔记一,我们见识到了 Compose 使用 LazyColumn 来实现一个可滑动 List,其实实现一个可滑动 List 并不需要用到 LazyColumn,只需要用...50% 地方,这里由于 ConstraintLayout 默认尺寸是 wrap_content,所以父布局宽度会设置 text 两倍宽度,这样就满足了 text 起始位置在父布局中间,根据图中布局分界线也可以看出...而 guideline2 是在竖直方向上距离屏幕高度三分之一位置,需要把父布局高度设置屏幕高度才可以实现。

2.7K31

一起看 IO | Jetpack 组件新特性

这其中包含了应用启动及集成界面操作 (滚动 RecyclerView 运行动画)。Macrobenchmark 也可用于生成 Baseline Profiles。...新版本添加了一些用于支持先进用例功能,包括支持可下载字体、惰性布局及嵌套滚动互操作性。更多信息请参阅文章: 一起看 I/O | Jetpack Compose 新特性。...该功能支持跨应用手动持久化区域设置,并且可以通过 Service metadata 标签支持自动持久化。它可以告诉库同步加载区域并根据需要重建任何正在运行 Activity。...向我们提交反馈分享您喜欢内容、发现问题。...您反馈对我们非常重要,感谢您支持! *Java 是 Oracle 和/其附属公司商标注册商标。

3.1K20

一起看 IO | Jetpack Compose 新特性

: 文本改进 字体边距 我们在问题跟踪器定位到了 得票最高问题之一,并通过将 includeFontPadding 设置自定义参数来解决它。...两个参数结合使用效果如下: △ 以多行 Text 可组合项例:左图为设置 includeFontPadding true (当前默认值) 效果,右图为设置 includeFontPadding...与 CoordinatorLayout 互操作 从现在起,当您在 View 系统 CoordinatorLayout 嵌套了一个支持滚动可组合项时,您可以确保它们滚动行为是可互操作。...除了重组计数,新工具还包含了能帮助您一次查看和浏览所有动画 Animation Coordination,以及能帮助您多个屏幕尺寸构建应用 MultiPreview 注解。...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

2.2K20

Android | Compose 初上手

Compose ,在构建界面的时候,无需在像之前那么构建 XML 布局,只需要调用 Jetpack Compose 函数来声明你想要元素,Compose 编译器就会自动帮你完成后面的工作。...group: String: 该Preview设置group名字,可以在UI以group单位显示。 fontScale: Float: 可以在预览对字体放大,范围是从0.01。...widthDp: Int: 在Compose渲染最大宽度,单位dp。 heightDp: Int: 在Compose渲染最大高度,单位dp。...例如: 写入共享对象属性 更新 viewmodel 可观察项 更新共享偏好设置 可组合函数可能会每一帧一样频繁执行,例如呈现动画时候。...重组跳过尽可能多内容 如果界面某些部分无需,Compose 会尽力只重组需要更新部分。这意味着,他可以跳过某些内容以重新运行单个按钮可组合项,而不执行树其上面下面的任何可组合项。

5.2K20

一起看 IO | Compose for Wear OS Beta 版发布!

Beta 版本介绍 自去年 I/O 大会以来,我们一直在努力将 Jetpack Compose 优势带到 Wear OS,还通过 Slack 与社区互动,收集开发者对 API、组件和工具反馈。...Slider 可让用户从一个数值范围内进行选择,是调整字体大小亮度等设置理想组件。 Stepper 是让用户从一个数值范围内进行选择全屏控制组件。例如,用户可以用其控制耳机音量。...进度指示器允许在圆形轨道留出空隙,其他内容留出空间,例如在全屏时使用 TimeText。...页面指示器 为了帮助您实现分页,用户界面工具包还提供了 HorizontalPageIndicator 组件,会显示总页数和所选页数: HorizontalPageIndicator 将提供当前展示页面以及在总页面数位置...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

1.4K20

深度解析 Jetpack Compose 布局

实际上,如果您对某个项目进行两次测量,Compose 会抛出异常: △ 重复测量某个项目时 Compose 会抛出异常 布局动画示例 由于具备更强性能保证,Compose 提供了新可能性,例如布局添加动画...以 Jetsnack 应用自定义底部导航例,在该设计,如果某项目被选中,则显示标签;如果未被选中,则只显示图标。而且,设计还需要让项目的尺寸和位置根据当前选择状态执行动画。...而图标既没有基线,也没有其他对齐线,我们可以使用 alignBy 修饰符让图标对齐到我们需要任何位置。在本例,我们知道图标的底部是对齐目标位置,因此将图标的底部进行对齐。...Body 会使用滚动状态进行设置以使内容能够垂直滚动。在 Title 等其他组件可以观察滚动位置,而我们观察方式会对性能产生影响。...由于滚动状态是从组合读取任何更改都会导致重组,在重组时,还需要进行布局和绘制这两个后续阶段。 不过,我们不是要更改显示内容,而是更改内容位置

2K30

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

Compose 继续带来您所需要 API,以支持更多高级用例,可下载字体、LazyGrids、窗口边衬区、嵌套滚动互操作,以及更多工具支持,如实时编辑 (LiveEdit)、重绘调试 (Recomposition...现在我们已经您准备好了令人期待新硬件、更新操作系统和 Google 应用、优化指南和开发库,并在 Play 商店引入了令人振奋变化,这正是检验您应用并让它们大屏幕设备和 Android...您可以对这些新技术进行初步测试,评估您如何在自己解决方案采用这些技术,并与我们分享反馈。...您还可以为应用增加新功能,比如单个应用进行语言设置、主题应用图标,以及支持新现代化标准, HDR 视频和蓝牙低功耗音频 (LE Audio)。...欢迎您 点击这里 向我们提交反馈分享您喜欢内容、发现问题。您反馈对我们非常重要,感谢您支持!

2.2K20

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

我们团队正在使用 Compose 构建动效功能,极大地提高了 Play 商店用户满意度。借助 Compose 声明性和动画 API,编写连续并行动画从未如此简单。...性能 Play 商店和 Jetpack Compose 团队密切合作,以确保 Compose 可以像视图框架一样快速运行并且没有卡顿。...Compose 会尽可能跳过已知可以跳过可组合项重组 (例如,它们是不可变),但是如果所有参数满足 @Stable 注释要求,开发者也可以强制将可组合项设置可跳过。...当在 Play 商店创建在滚动情况下频繁使用大量重复使用界面组件时,我们发现不必要重组会增加丢失帧时间,从而导致卡顿。...我们与 Jetpack Compose 团队合作,推出 LazyList 项目类型缓存 等功能,并快速进行轻量级修复, 额外对象分配。

3.2K40
领券