Wear Compose Material 3

  
编写适用于 Wear OS 设备的 Jetpack Compose 应用,提供相关功能来支持不同的设备尺寸和导航手势,并使用 Material 3 Expressive 设计系统。
最近更新时间 稳定版 候选版 Beta 版 Alpha 版
2025 年 8 月 13 日 - 1.5.0-rc02 - -

声明依赖项

如需添加 Wear 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0-rc02"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-rc02"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0-rc02"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0-rc02")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-rc02")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0-rc02")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

Wear Compose Material3 版本 1.5

版本 1.5.0-rc02

2025 年 8 月 13 日

发布了 androidx.wear.compose:compose-*:1.5.0-rc02。版本 1.5.0-rc02 中包含这些提交内容

bug 修复

  • 修复了 TimePicker 中的一个 bug,即时段(上午/下午)的长国际化字符串可能会破坏布局。(I0fa81)

版本 1.5.0-rc01

2025 年 7 月 30 日

发布了 androidx.wear.compose:compose-*:1.5.0-rc01。版本 1.5.0-rc01 中包含这些提交内容

bug 修复

  • TimePicker 现在完全由用户的语言区域驱动,使用 DateFormat.getBestDateTimePattern 来确定其选择器和分隔符的顺序和内容。此版本修复了 CJK 语言的列顺序不正确的问题,解决了阿拉伯语等语言中的 RTL 布局问题,使用了本地化分隔符,并根据语言区域支持 0-11 和 1-12 小时格式 (I5d543)
  • DatePicker 现在会在某些语言区域(例如 CJK)中显示数字月份,以避免混合使用数字格式和语言格式(例如,2025 年 7 月 2 日,而不是 2025 年 7 月 2 日。此更改应用了一种启发式方法,用于检查相应语言区域设置是否使用年份的语言后缀,如果使用,则将月份格式从文本 (MMM) 切换为数字 (MM),以保持一致性。(Ia93fe)
  • 选择器组件中标题的垂直空间现在是恒定的,可防止在选择选择器列时出现明显的位移,尤其是在 Talkback 模式下。(I7f8b7)
  • 修复了因 HorizontalPageIndicatorVerticalPageIndicator 以全屏方式绘制而导致的无障碍功能 bug。页面指示器不再是全屏显示,并且在与 HorizontalPagerScaffoldVerticalPagerScaffold 搭配使用时会自动定位。如果不使用分页器框架,请使用 modifier = Modifier.align(Alignment.BottomCenter)HorizontalPageIndicator 以及 modifier =Modifier.align(Alignment.CenterEnd)VerticalPageIndicator 明确指定对齐方式。(I3a0ad)
  • SwipeToReveal 中的滑动方向现在对于 LTR 和 RTL LayoutDirections 都是一致的。(I6d427)
  • 重新为操作恢复了 SwipeToReveal 垂直居中。如果为 hasPartiallyRevealedState = true,则当发生滚动时,调用方应将 RevealState 重置为 RevealValue.Covered。(I6473d)
  • SwipeDismissableNavHost 现在可以正确剪裁 API 36 及更高版本的内容。(Ib9a44)

版本 1.5.0-beta06

2025 年 7 月 16 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta06。版本 1.5.0-beta06 中包含这些提交内容

bug 修复

  • 修复了当 LazyColumnScalingLazyColumn 具有 reverseLayout = true 时出现的 EdgeButton 动画问题。(I46a1a)
  • 修复了 ScreenScaffold 中的一个 bug,该 bug 导致在提供 ScrollIndicator/PageIndicator 的情况下,Talkback 下的触控浏览功能无法正常运行。(I6dcee)
  • TransformingLazyColumn 现在允许通过读取后台绘制器中由 TransformationSpec 提供的 itemHeight 值,从 TransformationSpec 进行自定义变形。(I6a599)
  • IconButton 启用/停用动画颜色过渡,以与 IconToggleButton 保持一致。(Ife10a)
  • 移除了 CircularProgressIndicator 中的最小部分限制,以避免在动画播放时出现明显的跳跃到最小点大小的情况。在此次更改中,drawCircularProgressIndicator 中的 targetProgress 参数现在处于未使用状态。(I33309)
  • 选择器现在具有语义角色 ValuePicker,屏幕阅读器可以使用该角色来提高选择器的可访问性。选择器还更新了无障碍点击标签,可区分只读模式下调整值和选择当前值的情况。(I33309)

版本 1.5.0-beta05

2025 年 7 月 2 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta05。版本 1.5.0-beta05 中包含这些提交内容

bug 修复

  • 更新了文档,明确说明了 Modifier.edgeSwipeToDismiss 的用法 (I78cb5)
  • 修复了以下 bug:在延迟加载列表中,SwipeToReveal 可能显示多个已显示项 (I1d4f6)
  • TransformingLazyColumn 中的容器形状现在会进行缩放,以避免内容被剪裁。(I9221a)
  • 小时/分钟/秒或年/月/日的 TimePickerDatePicker 标签现在具有面向屏幕阅读器的标题语义 (I77d8b)
  • 移除了不确定 CircularProgressIndicator 中循环之间的暂停时间 (Iaf0bb)
  • 修复了移除项时 TransformingLazyColumn 中的动画 bug。(I73034)
  • 修正了移除项时 TransformingLazyColumn 中对锚定项的处理。(I841a8)
  • 现在,当自动居中功能处于开启状态且所选(居中)选择器发生变化时,PickerGroup 会以动画效果水平显示选择器。(Ic82c4)

版本 1.5.0-beta04

2025 年 6 月 18 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta04。版本 1.5.0-beta04 中包含这些提交内容

bug 修复

  • 修复了 TransformingLazyColumn 中的布局 bug,现在适合屏幕的内容可以从屏幕顶部正确对齐 (I80115)
  • 修复了 TransformingLazyColumn 的一个问题,即当滚动到具有 EdgeButton 的列表的最底部时,底部项的缩放比例不正确。现在,在恢复布局时,滚动进度会遵循梯度下降。(Iea375)
  • TransformingLazyColumn 现在可以在背景绘制器中读取商品高度,从而允许自定义 TransformationSpecs 实现变形效果。(I022f0)
  • SwipeToReveal 现在可以正确地垂直居中显示的操作。(I4419b)
  • 修复了 SwipeToReveal 中的一个 bug,该 bug 会导致在屏幕上同时使用视图和 Compose 时,SwipeToReveal 无法与滑动关闭功能正常搭配使用。(I5dc0e)
  • 修复了以下 bug:滚动时,SwipeToReveal 操作的绘制存在垂直偏移。(I29444)
  • AlertDialogConfirmationDialogOpenOnPhoneDialogSwipeToReveal 现在会向上舍入以屏幕尺寸百分比计算的边衬区和尺寸。(I76367)
  • ButtonDefaults.outlinedButtonBorder 现在会在启用/停用状态发生变化时更新大小(If2ddd)
  • 修复了在具有 Pager 和 ScreenScaffold 的复杂屏幕上出现的 EdgeButton 高度 bug。(I946e3)
  • 修复了可能导致占位符动画停止的竞态条件。(I53530)
  • 通过绘制到 Canvas 提升了 HorizontalPageIndicatorVerticalPageIndicator 的性能。(Ifae1e)
  • 优化了 EdgeButton 的形状,使构成轮廓的省略号和圆圈之间的过渡更加平滑。(I7721e)
  • 修复了 LevelIndicator 中的一个 bug,该 bug 会因不必要的重新组合而导致动画停止。(I45d08)

版本 1.5.0-beta03

2025 年 6 月 4 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta03。版本 1.5.0-beta03 中包含这些提交内容

API 变更

  • OpenOnPhoneDialog 现在仅在 TalkBack 下播报消息文本,并跳过图标语义。已更新 OpenOnPhoneDialogDefaults,以从 icon() 中移除 iconContentDescriptioncontentDescription 参数。此外,ConfirmationDialogDefaults 现在在 SuccessIconFailureIcon 可组合项上具有修饰符参数。(Id2ae2)

bug 修复

  • 更改了应用 SurfaceTransformation 参数效果的顺序。之前,应用于 Wear Material3 组件的转换按以下顺序进行:背景绘制器、容器转换、内容转换。现在,前 2 个被反转,我们在它们之间应用任何传入的修饰符,因此它会受到容器转换的影响。此问题修复了以下情况:使用转换参数将占位符微光效果与 TLC 中的元素搭配使用。(I786cf)
  • 添加了 RevealState.Saver,用于在重新创建 activity 或进程时恢复 SwipeToReveal 的状态。rememberRevealState 函数现在默认使用此 Saver。(Ie0ecb)
  • SwipeToReveal 主要和次要操作按钮应默认设置为 ButtonDefault.Height(修复了这些按钮填充较高按钮的最大高度的 bug)。(Ibfba1)
  • 更改了 SwipeToReveal,以便在执行向右滑动操作时重置上次互动的组件。(Ia8450)
  • 当滑动结束位置介于显示锚点和已显示锚点之间,且更靠近显示锚点时,SwipeToReveal 已更改为稳定在 Revealing 状态。(If4458)
  • 现在,ButtonGroup 的内容在 RTL 布局中可以正确反转 (Ib378d)
  • AnimatedText 现在支持 RTL 文本方向 (I4533c)
  • 现在,当移除底部项时,TransformingLazyColumn 会正确调整项的大小 (Idacab)
  • TransformingLazyColumn 现在只需一次测量,从而通过缩短帧时间来提高性能。(I501a1)

版本 1.5.0-beta02

2025 年 5 月 20 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta02。版本 1.5.0-beta02 中包含这些提交内容

bug 修复

  • 更新了 foundation、material 和 material3 库的基准配置文件。(I53f06)
  • 修复了 TransformingLazyColumn 中的一个 bug,即当底部项被移除时,项会调整大小。(Idacab)
  • 修复了 TransformingLazyColumn 的一个 bug,即当列表卡在顶部或底部时出现的问题。(I49d00)
  • TalkBack 下的 OpenOnPhoneDialog 应读出弯曲的文字,而不是图标内容说明。(I4efe8)
  • 修复了 SwipeToReveal 中的一个 bug,该 bug 会在 hasPartiallyRevealedState 设置为 false 时在 RevealState.currentValue 中报告错误的锚点。(I9c7cf)
  • SwipeToReveal 撤消按钮现在默认处于 ButtonDefaults.Height 状态。(I1f6c8)
  • 通过消除使用 Canvas 绘制遮罩的需求,改进了 BasicSwipeToDismissBox 性能。(I68f2c)
  • 修复了滑块中的无障碍功能 bug,即更新后所播报的百分比与实际值不符 (I91146)
  • 修复了 placeholderShimmer 实现中的 bug。(Iee39b
  • 通过将 ScrollProgress 计算优化 30%,TransformingLazyColumn 性能得到了提升。(I4c4cb)

版本 1.5.0-beta01

2025 年 5 月 7 日

发布了 androidx.wear.compose:compose-*:1.5.0-beta01。版本 1.5.0-beta01 中包含这些提交内容

Compose for Wear OS 的 1.5.0-beta01 版本表明,此版本是一个功能完备且 API 已锁定的库(标记为实验性的除外)。

Wear Compose 1.5.0-beta01 包含 Wear Compose Material3 库,该库支持名为 Material 3 Expressive 的新界面设计系统。建议您从 Material 升级到 Material3,以便在应用中采用新的视觉设计,并受益于以下新组件:

  • MaterialTheme,以更新和扩展配色方案、排版和形状,从而为您的设计带来深度和多样性。
  • 动态颜色主题设置:自动为应用生成与表盘颜色相匹配的配色方案。
  • 默认情况下,新组件会自动适应更大的屏幕尺寸
  • 形状渐变 - IconButtonTextButtonIconToggleButtonTextToggleButton 等圆形按钮组件支持在按下或选中时添加动画效果的变体。
  • EdgeButton - 一种新的贴边按钮,具有专为屏幕底部设计的特殊形状。
  • 基架 - 引入 AppScaffoldScreenScaffold 来布局屏幕的结构,并协调 ScrollIndicatorTimeText 动画。
  • 按钮 - 支持多种体育场形按钮,这些按钮具有灵活的单槽位容器和多槽位变体,可用于带有图标和标签的按钮。需要切换按钮时,系统会提供 CheckboxButtonSwitchButton,而 RadioButton 是可用的选择按钮(系统还会提供切换按钮和选择按钮的“拆分”变体)。
  • ButtonGroup - 实现了一组排列在一行中的灵动按钮,这些按钮在被触摸时会发生形状变化。
  • AlertDialog 变体支持“确定”/“取消”按钮或 EdgeButton
  • ConfirmationDialog 可用于显示带有超时时间的讯息,并支持成功、失败和“在手机上打开”变体的特殊动画。
  • 选择器 - 支持 TimePickerDatePicker 变体,以及用于构建自定义选择器屏幕的 Picker 和 PickerGroup 组件。
  • ProgressIndicators - 支持圆形和线性进度指示器(CircularProgressIndicator 具有分段和不确定变体)。
  • 卡片 - 有多种卡片变体可供选择,包括 TitleCard,它可为包含标题、时间、副标题或内容槽位的卡片提供特定布局。TitleCard 还可以添加图片背景,以强化卡片中信息的含义。
  • 分页器 - HorizontalPagerScaffoldVerticalPagerScaffoldAnimatedPage 组件可协调 HorizontalPageIndicatorVerticalPagerIndicator 动画。HorizontalPagerVerticalPager 已在 Wear Compose Foundation 库中发布。
  • 占位符 - 在组件上绘制骨架形状,适用于没有临时内容的情况。
  • 滑块和步进控件 - 滑块和步进控件都可让用户从一系列值中进行选择。滑块更紧凑,可以分段,而步进器是全屏组件,通常与 StepperLevelIndicator 配对使用。
  • SwipeToReveal - 用于在可组合项从右向左滑动时向其添加其他操作。

此外,Wear Compose Foundation 1.5.0-beta01 还包含以下新组件:

  • TransformingLazyColumn - 一个支持缩放和变形动画的延迟加载垂直滚动列表
  • 分层焦点组 - 用于注释应用中的可组合项,以跟踪组合的活跃部分并协调焦点。
  • 分页器 - HorizontalPagerVerticalPager 组件,基于 Compose Foundation 组件构建,并针对 Wear 进行了增强,以提高性能并遵守 Wear OS 指南。

API 变更

  • 更新了分层焦点 API - 将 Modifier.hierarchicalFocus 重命名为 Modifier.hierarchicalFocusGroup 并移除了回调参数;移除了具有 FocusRequester 参数的 Modifier.hierarchicalFocusRequester 重载;创建了新的 CompositionLocalLocalScreenIsActive,以便组件可以告知并检查哪个屏幕处于活动状态。(I5ff7c)。
  • 废弃了 Wear Compose Foundation 中的 SwipeToReveal,改用 Wear Compose Material 和 Wear Compose Material3 中的 SwipeToReveal API。请将 Wear Foundation SwipeToReveal 导入替换为 Wear Compose Material/ Wear Compose Material3 导入,以继续使用相应 API。(Ia147d)。
  • Wear Compose Material3 SwipeToReveal 对 Foundation 的依赖项已移至 material3 软件包,例如 RevealValueRevealDirectionRevealActionTypeRevealStaterememberRevealState。开发者应将这些类和函数的导入项从 androidx.wear.compose.foundation 更改为 androidx.wear.compose.material3。(I640e6)。
  • 更新了 Wear Compose Material3 SwipeToReveal API,具体如下:向 SwipeToReveal 可组合项添加了 primaryActiononFullSwipesecondaryActionundoPrimaryActionundoSecondaryActionhasPartiallyRevealedState 参数;移除了从 RevealState 自定义 positionalThresholdanimationSpec 的功能;移除了 RevealState 中的 lastActionTyperevealThreshold 和宽度;将 RevealState 构造函数更改为接受 RevealDirection 而不是锚点;移除了 createRevealAnchors、锚点和 bidirectionalAnchors 函数;将 SwipeToRevealScope 函数 primaryActionsecondaryActionundoPrimaryActionundoSecondaryAction 重命名为 PrimaryActionButtonSecondaryActionButtonUndoActionButton 并将其设为可组合函数;将 RevealActionType 标记为内部。(I885d0)。
  • 进一步更新了 SwipeToReveal API,如下所示:将 onFullSwipe 重命名为 onSwipePrimaryAction;重命名了 SwipeToRevealNonAnchoredSample 以指示 hasPartiallyRevealedState 参数的使用;移除了 actionButtonHeight,因为默认值为按钮的默认高度,并且可以使用修饰符设置更大的高度;从 SwipeToRevealDefaults 中移除了 SmallActionButtonHeight;将 RevealValueRevealDirection 构造函数中的值形参设为私有。(I465ce)。

bug 修复

  • 修复了 ScreenScaffoldEdgeButton 处理,以便在移除 TransformingLazyColumn 项后,EdgeButton 会以动画形式显示在相应位置。(I6d366)。
  • 将 Wear Compose 对 Compose 库的依赖项更新为版本 1.8.0。(I2ef3f)。
  • 更新了不确定 CircularProgressIndicator 的运动,使其不再暂时退回。(Ieddb1)。
  • 修复了 SwipeDismissableNavHost bug - 在向后滑动后,焦点未正确切换,导致旋转输入失败(适用于使用预测性返回功能的 API 36 及更高版本)。(Ieddb1)。
  • 修改了分层焦点 API 的文档 (Idf2ff)。
  • 更新了“按钮”和“卡片”的文档,以说明 containerPainterdisabledContainerPainter 如何替换 containerColordisabledContainerColor (I4a453)。
  • 还原了之前版本中对 TimeText 的更改,该更改将 BroadcastReceiver 移到了工作线程,因为这会导致在导航期间管理自身线程的应用出现问题。(I34d02)。
  • 更新了选择器示例,移除了不必要的 remember 调用,并在选择器中使用 rememberUpdatedState 来记住最新的 contentDescription lambda 函数。(Icb5b1)。
  • 更新了 TimePickerDatePicker 中的文字样式,使字体更改不再导致截断。(I26194)。
  • ListHeaderListSubHeader 现在默认将文本对齐方式分别设置为居中对齐和起始对齐。(I78339)。
  • 更新了 Foundation 和 Material Swipe to Reveal 示例和演示,以宣布自定义无障碍操作(自定义操作必须作为语义添加到内容中,而不是添加到 SwipeToReveal 可组合函数本身中)。(Ie92a3)。
  • 根据 EdgeButton 内容的大小更新了默认 MaxLines 设置 - 现在,对于超小号内容,该值为 1;对于小号和中号内容,该值为 2;对于大号内容,该值为 3。(Ie35f6)。
  • 简化了 LocalReduceMotion,以便仅注册一次观察者,从而提升性能。(Ib1979)。
  • 最大限度地减少了 ScrollIndicator 中的重绘次数,以提高性能。(Ia7a67)。
  • 修复了 TransformingLazyColumn 中的一个 bug,即当 EdgeButton 达到其完整高度时,列表中的顶部可见项无法正确缩放。(I30580)。

Wear Compose Material3 版本 1.0

版本 1.0.0-alpha37

2025 年 4 月 23 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha37。版本 1.0.0-alpha37 中包含这些提交内容

API 变更

  • 从公共 API Surface 中移除了 scrollTransform。如果您需要获得相同的功能,请组合使用 transformedHeightgraphicsLayer 修饰符。(Ie181d)
  • 分别使用 ButtonCard/TitleCard 重载替换了 ImageButtonImageCard 可组合项。将 imageButtonColors 重命名为 buttonWithContainerPainterColors,将 imageCardColors 重命名为 cardWithContainerPainterColors。添加了公开的 ButtonDefaults.scrimBrushCardDefaults.scrimBrush。将按钮 imageBackgroundGradientStartColorimageBackgroundGradientEndColor 重命名为了 scrimGradientStartColorscrimGradientEndColor。将 CardDefaults.ImageContentPadding 重命名为 CardDefaults.CardWithContainerPainterContentPadding (I7b8b6)
  • PickerPickerGroup 现在将 contentDescription 作为 lambda 接受,以避免不必要的重组。(I002dd)

bug 修复

  • 修复了以下问题:如果宽度不等于高度,不确定的 CircularProgressIndicator 会在动画期间晃动。(I76bfe)
  • 修复了边缘按钮布局在无效尺寸下出现的问题。现在,当高度为 NaN 时,可防止更新边缘按钮的布局。(I32b93)
  • 增加了 OpenOnPhoneDialog 中的最大扫描角度,以便在最大字体大小下,默认的“检查手机”文本不会被剪裁。(I90af9)

版本 1.0.0-alpha36

2025 年 4 月 9 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha36。版本 1.0.0-alpha36 包含这些提交内容

API 变更

  • 已将 ButtonDefaults.imageBackgroundButtonColors 替换为 ImageButtonButtonDefaults.imageButtonColorsButtonDefaults.containerPainterButtonDefaults.disabledContainerPainter。卡片的类似更改。已从 ButtonColorsCardColors 中移除了画家。(I8c6a1)
  • 更新了占位符,以简化 API。我们现在提供两个修饰符:Modifier.placeholderShimmer 用于在组件级别应用微光效果,Modifier.placeholder 用于在未加载的内容上应用遮罩 (Iaee7a)

bug 修复

  • 将过滚动集成到 ScrollIndicator 中。(Icfb7f)
  • 解决了启动 Material3 对话框时出现的背景空白和对话框缺失问题。(Ice597)
  • 修复了 FadingExpandingLabel 中文本跨多行时出现的问题。(I04eb7)
  • 更新了按钮上主要标签和辅助标签之间的边衬区。(I99b7b)
  • ArcLarge 已从 20sp 减少到 18sp,并且更新了 ArcLargeArcSmall 上的字间距。ConfirmationDialog/OpenOnPhoneDialog 现在使用默认的 ArcLarge,而不是将其替换为 18sp。(Id39a8)

依赖项更新

  • 此库现在以 Kotlin 2.0 语言级别为目标,并且需要 KGP 2.0.0 或更高版本。(Idb6b5)

版本 1.0.0-alpha35

2025 年 3 月 26 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha35。版本 1.0.0-alpha35 中包含这些提交内容

API 变更

  • 现在,当提供图标时,默认情况下会减少 AlertDialog 顶部内边距,从而充分利用可用的屏幕尺寸。(Ief06c)
  • PagerScaffoldDefaults.FadeOutAnimation 已重命名为 PagerScaffoldDefaults.FadeOutAnimationSpecAnimatedPage 上的 page 参数已重命名为 pageIndex。(I701f2)
  • 更新了 TransformingLazyColumnSurfaceTransformation 命名 - applyTransformation 分为 applyContainerTransformationapplyContentTransformation,并将 createBackgroundPainter 重命名为 createContainerPainter。进一步更新了 TransformationSpecResponsiveTransformationSpec 的命名。(I1c534)
  • AppScaffold backgroundColor 已重命名为 containerColor。(I4e63f)

bug 修复

  • 修复了 FadingExpandingLabel 中文字未始终正确展开的问题。(I0e773)
  • ArcLarge已从 20sp 减少到 18sp,并且已更新 ArcLargeArcSmall 上的字母间距。ConfirmationDialog/OpenOnPhoneDialog 现在使用默认的 ArcLarge,而不是将其覆盖为 18sp。(Id39a8)
  • 更新了基于 DatePickerTimePicker 的标题动画,使淡出和淡入动画充当一个弹簧动画。(I68963)
  • 通过避免在 AnimatedPage 可组合项中读取 currentPageOffsetFraction 来优化 PagerScaffold。(I433ef)
  • 所有类型比例都已更新为默认使用比例数字,因为这是最常见的用例,而默认使用等宽数字会导致某些数字对之间出现过多的间距。TimePickerDatePicker 继续为表格数字应用 FontFeatureSetting=tnum。(I88929)
  • 修正了 TimePickerDatePicker 的初始 RSB 输入焦点。(I1c773)
  • OpenOnPhoneDialog 上的默认文字更新为“查看手机”。(I00a3f)
  • ArcLargeArcMedium 的权重从 600 更新为 599,以解决权重 600 被视为粗体的问题 (I2a51d)
  • 更新了内容与操作按钮之间的 SwipeToReveal 内边距,以及操作按钮的图标与文本之间的内边距。(Ic46cb)

版本 1.0.0-alpha34

2025 年 3 月 12 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha34。版本 1.0.0-alpha34 中包含这些提交内容

API 变更

  • PagerScaffold 不再发出 Pager 组件,而是必须通过 content 可组合项提供。AnimatedPagesnapWithSpringFlingBehaviour 现已公开,可与 Wear Foundation Pager 搭配使用,以实现之前的 M3 PagerScaffold 行为。(请参阅更新后的示例)。(Ia4724)
  • 更新了 PagerState,移除了 Compose Foundation PagerState 作为基类,并添加了 currentPagecurrentPageOffsetFractionpageCount 属性。更新了 GestureInclusion 接口,并将方法重命名为 ignoreGestureStart。(I4ae07)
  • 现在使用 FloatRange(0, 360) 注释了 LevelIndicator 扫描角度参数 (I7e636)
  • 我们添加了 CurvedModifier.clearAndSetSemantics,以提供一种关闭曲面语义的方法。CurvedText 继续将内容描述默认设置为文本,但 timeTextCurvedTexttimeTextSeparator 现在不会播报其内容。(I4b568)
  • AppScaffold 添加了背景和默认内容颜色参数。(I56652)
  • HorizontalPager 对滑动操作的默认处理方式已重命名为 PagerDefaults.gestureInclusion。现在的默认行为是,仅当滑动操作从第一页的左边缘开始时,并且仅当 Talkback 关闭时,才会忽略滑动操作。在其他情况下,默认行为是,ViewPager 不会忽略滑动操作,因此滑动操作将无法用于滑动关闭处理程序。(Iee486)
  • 为按钮、卡片和列表标题组件添加了 SurfaceTransformation 参数,以便它们在根据位置更改商品外观的容器(例如 TransformingLazyColumn)中使用时可以应用不同的背景和内容转换。(Iabe3f)
  • 我们已将 Wear Compose Material3 API 中的“public const val”属性更新为“public val”,以避免值内嵌。(Ib0f32)
  • SwipeToReveal 添加了对边缘滑动区域的支持。Foundation SwipeToReveal 的默认行为现在是,当手势从边缘开始时,不允许滑动。Material3 SwipeToReveal’ 的默认行为现在是,当手势从边缘开始时,如果 SwipeDirection 设置为单向,则不允许滑动。(I32ef0)
  • 添加了 FadingExpandingLabel 可组合项,该可组合项允许通过动画逐行淡入文本。(Ic60fa)
  • TransformingLazyColumn 现在默认使用空 contentPadding,而不是将第一个和最后一个商品放在中心位置。(I77ab7)
  • 从 Wear Compose Material3 库中移除了 SwipeToRevealrememberRevealState。(I8c0e0)

bug 修复

  • Wear Compose 库已更新为 Kotlin 2.0 编译器。(I2de79)
  • Material3 中已移除对非圆形 ScrollIndicatorPageIndicator 的支持。方形屏幕支持也不再是 Wear OS 要求的一部分,如需了解详情,请参阅入门指南。(I9a852)
  • ConfirmationDialogDefaultsOpenOnPhoneDialogDefaults 中使用的 CurvedTextStyle 已更新为使用 ArcLarge 排版,大小为 18sp,字母间距为 1.8sp。(Ic9ced)
  • CardListHeaderRadioButtonCheckboxButtonSwitchButton 不再默认限制其内容的高度。如有必要,请使用 Modifier.height(IntrinsicSize.Min) 恢复之前的行为。(I80bb8)
  • 我们更新了默认的 TimeTextScrollIndicator 颜色,使其包含更多灰色调,因为直接使用 OnBackground(白色)在与屏幕上的其他内容(例如标题)竞争时会带来过多的视觉重量。(I8b36f)
  • 我们将脚手架组件中 TimeTextScrollIndicator 的动画超时时间缩短为 2 秒。(I52021)
  • 我们更新了对话框的运动,使对话框背景的缩放与滑动关闭同步。(I925a9)
  • 添加了使用 edgeSwipeToDismiss 修饰符的 M3 SwipeToReveal 演示。(I02b07)
  • 我们在 TalkBack 下的 DatePickerTimePicker 中添加了标题,以便告知用户滚动来设置日期/时间。(Id738d)
  • AnimatedText 现在会遵循“减少动态效果”设置。(Ib6578)
  • 改进了使用 AppScaffold 显示对话框内容的优化,以允许在彼此之上显示多个对话框 (I1209c)

版本 1.0.0-alpha33

2025 年 2 月 26 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha33。版本 1.0.0-alpha33 中包含这些提交内容

API 变更

  • 我们已从 SwipeToRevealScopeprimaryActionsecondaryAction 中移除了 label 参数。开发者应直接将自定义操作语义添加到 SwipeToReveal 组件的内容中。(Ia67f3)
  • 我们已从 IconToggleButtonDefaultsTextToggleButtonDefaults 中的大小、文本样式和颜色函数中移除了“Button”前缀 (I5471d)
  • 我们移除了实验性 LocalMinimumInteractiveComponentEnforcement (I4ad8a)
  • 我们已将 PickerGroupScope DSL 替换为可组合项。因此,我们从 PickerGroupScope 中移除了 pickerGroupItem 方法,改为添加了 @Composable PickerGroupItem,该方法应用于向 PickerGroup 添加 Picker。我们还将 PickerGroup“content”形参的类型更新为 @Composable PickerGroupScope.() -> Unit。(Ic6aec)
  • 我们为小数值添加了 LevelIndicator 重载,并为包含范围参数的重载添加了步进控件前缀(这些重载适合与步进控件组件搭配使用)。(If4234)
  • 我们已将 TransformingLazyColumnTransformationSpec 添加到 API,这允许定义在滚动浏览 TLC 时项发生的精确转换。(I21856)
  • 我们更新了 IconButtonShapesIconToggleButtonShapesTextButtonShapesTextToggleButtonShapes,使其与 compose/material3 类保持一致 (I5a081)
  • 我们向 ScalingLazyColumnTransformingLazyColumnScreenScaffold 添加了 overscrollEffect 参数。(I0cee8)
  • 我们已将 rememberRevealState 中的 swipeDirection 参数重命名为 revealDirection。(I7472f)
  • Wear Pager 现在有自己的 PagerScope,而不是使用 Compose PagerScope。(I9195b)
  • 我们已移除 LinearProgressIndicatorContent 可组合项,请直接使用 LinearProgressIndicator,以便默认情况下以动画方式显示值更改。(I2c4ad)
  • 我们移除了 CircularProgressIndicatorStatic 可组合项,并添加了一个具有相同功能的公开 DrawScope 函数 drawCircularProgressIndicator。请直接使用 CircularProgressIndicator,以便默认情况下以动画形式呈现更改,但如果需要自定义动画,请从 drawCircularProgressIndicator 构建自己的可组合函数。(Ie762f)
  • 我们已对 DrawScope.drawCircularProgressIndicator 中的参数进行了重新排序,以将 targetProgress 参数移至前面。(I8ab92)
  • 更新了 OpenOnPhoneDialog API,以提高清晰度并与其他对话框保持一致。show 参数已重命名为 visible,并且 curvedText 现在由调用方提供,而不是具有默认值。(Idec2d)
  • 我们将 openOnPhoneCurvedText 重命名为 openOnPhoneDialogCurvedText (I65bdd)
  • 我们添加了 ScrollIndicatorColors,用于为 ScrollIndicator 提供自定义颜色。(I9eb8c)
  • 允许配置用于在 TimeText 后面绘制背景的颜色。(I9f5d9)
  • ArcLargeArcMediumArcSmall 的排版更新为 CurvedTextStyle (Iffc41)
  • 我们已移除 ScreenScaffoldDefaults.contentPaddingWithEdgeButton。(Ia923e)
  • 我们已将 errorDim 添加到 ColorScheme,用于高优先级错误或紧急操作,例如安全提醒、失败的对话框叠加层或停止按钮。(I70998)

bug 修复

  • 我们将 wear.compose.material3 固定为 androidx.core.core 的版本 1.15.0 (I132e9)
  • 我们通过使用 AppScaffold 将对话框分层放置在其他屏幕内容之上,从而提升了对话框的性能 (I1b9a4)
  • 减少了 EdgeButton 的内部竖向内边距。(I1a5bb)
  • 我们已为滑块按钮添加了按钮语义。(I80cc6)

版本 1.0.0-alpha32

2025 年 1 月 29 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha32。版本 1.0.0-alpha32 中包含这些提交内容

API 变更

  • CurvedTextStyle 上,我们将字间距分为了顺时针字间距和逆时针字间距。这是必需的,因为顺时针字母从基线向外展开,而逆时针字母向内展开(因此需要更大的字母间距)(I4b848)
  • 我们更新了 IconButtonShapesIconToggleButtonShapesTextButtonShapesTextToggleButtonShapes,以提高 Material3 库的一致性。此变更还引入了形状缓存,以减少分配次数。(I049fc)
  • 我们已从 IconToggleButtonTextToggleButton 中的 variantAnimatedShape 方法中移除了 pressedShapeCornerSizeFraction 参数 (I58a65)
  • 我们将对曲面文字渲染(包括 TimeText)进行改进,但这些改进与非圆形屏幕不兼容。非圆形屏幕支持也不再是 Wear OS 要求的一部分,如需了解详情,请参阅入门指南。(I1cc1c)
  • 我们更新了 ButtonGroupButtonGroupScope,将基于 DSL 的 ButtonGroupItem 替换为 Modifier.weightModifier.minWidthModifier.enlargeOnPress。(I16c3c)
  • ButtonGroup API 中,我们更新了基于修饰符的新 ButtonGroupScopeenlargeOnPress 现在称为 animateWidth,它接受 InteractionSource 而不是 MutableInteractionSource,因为不需要对其进行变异。我们还添加了公共常量 ButtonGroupDefaults.DefaultMinWidth,即 ButtonGroup 中按钮的默认最小宽度。(Ie27ec)
  • 我们已更新 ListHeaderDefaults.contentColor,使其以小写字母开头,因为它是可组合的属性 (I125a5)
  • 我们已向 SliderDefaults.DecreaseIconSliderDefaults.IncreaseIcon 添加了内容说明参数,并设置了合适的默认值 (I2e1a7)
  • 我们已将 PickerPickerGroup 中的 spacing 参数重命名为 verticalSpacing (Ib75cc)
  • 我们移除了 ConfirmationDialogDefaults.successTextfailureText,因为 ConfirmationDialog 的调用者应提供包含更多上下文的字符串。此外,还将 confirmationCurvedText 重命名为 confirmationDialogCurvedText。最后,将对话框 show 参数重命名为 visible,以与其他最近的对话框更新保持一致。(I10074)
  • IconButton 已将 disabledImageOpacity 重命名为 DisabledImageOpacity。(I5f94a)

bug 修复

  • 我们修复了 EdgeButton 动画中的一个 bug,以便在每个帧中使用正确的大小 (Id3b58)
  • 修复了 animateContentSize 无法与 Button 搭配使用的问题。(Ib18a0)
  • 我们已将“特大标题”类型比例更改为字号 18dp (Ic9d52)
  • 我们更新了 AlertDialog 间距和图标大小 (Iac28c)
  • 我们修复了大屏幕断点(屏幕尺寸不低于 225dp 的设备为大屏幕设备)方面存在的不一致问题 (I36474)
  • 修复了按钮定位方面的一个小 bug (I952c2)

版本 1.0.0-alpha31

2025 年 1 月 15 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha31。版本 1.0.0-alpha31 中包含这些提交内容

API 变更

  • 我们已将所有 Wear Compose 库更新为“显式 API”模式。(Iebf9f)
  • 我们更新了 ScreenScaffoldEdgeButton API,以便更轻松地在包含 EdgeButton 的屏幕上指定内容边衬区。在新 API 中,EdgeButtonsize 仅传递给 EdgeButton,而 ScreenScaffold 采用 edgeButtonSpacing 参数来表示 EdgeButton 与列表内容之间的间距。(I424fd)
  • DatePicker 中,我们将参数 minDate 重命名为 maxDate,并将 minValidDate 重命名为 maxValidDate。在 DatePickerColors 中,我们将参数 selectedPickerContentColor 重命名为 activePickerContentColor,并将 unselectedPickerContentColor 重命名为 inactivePickerContentColor (Iba17b)
  • 我们将 ArcProgressIndicator 默认值更新为 strokeWidth=6dp,并建议使用屏幕高度的 diameter = 81.24% (I6f248)
  • 我们更新了 Confirmation API,以反映其作为对话框的用法。该可组合项现在称为 ConfirmationDialog,并对颜色和默认值类的命名进行了相关更新。此外,为了与其他 Compose Animation API 保持兼容,我们还将 show 参数重命名为 visible。此外,我们还提供了 ConfirmationDialogContentSuccessConfirmationDialogContentFailureConfirmationDialogContent,以便开发者在需要自定义片头/片尾对话框动画时使用。(Iaeb33)
  • 我们将 CircularProgressIndicatorContent 更新为 CircularProgressIndicatorStaticCircularProgressIndicator 的非动画变体),以便现在可用于构建具有自定义动画的 CircularProgressIndicator。(I1346f)
  • 我们已修复 ArcProgressIndicator 上的参数顺序,将修饰符参数放在首位 (I4656a)
  • 改进了 SwipeToReveal API,以接收操作标签(次要操作除外)的文本 slot 参数,并从撤消操作中移除了标签参数 (I5b3db)

bug 修复

  • 我们修复了以下 bug:在 ButtonCardIconButtonTextButton 中,LongPress 触感反馈被触发了多次 (Ia8b0f)
  • AlertDialog 的用户体验变化 - 在大屏设备上,确认和关闭按钮现在更小了。此外,确认和关闭按钮下方的间距也增加了。(I4f066)
  • 我们更改了 SwipeToReveal 组件的操作按钮标签的动画规范。(Ib87fb)
  • 更改了 SwipeToReveal,以便在显示文字的同时展开容器。(I44cf8)
  • 改进了 SwipeToReveal,以便在滑动操作超过提交主要操作的阈值时执行触感反馈。(I23efe)
  • 我们已更新 SwipeToReveal,以默认在主要操作和撤消操作的文本溢出时显示省略号。(I71f5a)
  • 我们修复了导致 ButtonGroup 动画出现抖动的问题。(I63f8f)
  • 我们已向 AnimatedText 添加了文本语义 (I6063c)
  • 对话框现在会在从可组合项中移除时重置背景缩放比例(如果不进行此修复,启动界面可能会处于缩小状态)(Id24ac)
  • 我们为步进控件中的按钮添加了形状变形动画 (Id6ed3)

版本 1.0.0-alpha30

2024 年 12 月 11 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha30。版本 1.0.0-alpha30 中包含这些提交内容

API 变更

  • 我们重构了 TransformingLazyColumnscrollTransform 修饰符,这触发了一项 API 变更。(I0c6dc)
  • 我们更新了 IconToggleButtonShapesTextToggleButtonShapes,使其具有两个不同的形状形参 uncheckedPressedcheckedPressed (I85dbd)
  • 使用 minDatemaxDate 时,无效的月份/日期选项现在会显示在 DatePicker 中,并带有新的 invalidPickerContentColor。(If4541)
  • 我们更新了 Stepper API,以提供 increaseIcondecreaseIcon slot - 这些 slot 的内容可以像往常一样从 Icon 可组合项构建。(Id35da)
  • 我们更新了 dynamicColorScheme,移除了可选的 defaultColorScheme 参数,现在返回可为 null 的 ColorScheme。这意味着,当未提供动态配色方案时,调用方必须明确处理回退情况。(I6d62e)
  • 我们更新了 ButtonDefaults 中的图标大小,以便与 CompactButton 搭配使用。仅包含图标的 CompactButton 应使用 ButtonDefaults.SmallIconSize = 24.dp,而同时包含图标和文本的 CompactButton 应使用 ButtonDefaults.ExtraSmallIconSize = 20.dp。建议 CompactButton 封装其内容(而不是填充最大宽度),并且已更新示例来展示这一点。(I0582c)
  • 我们添加了 EdgeButtonDefaults,其中包含 4 种不同 EdgeButtonSizes 的建议图标尺寸。此外,还更新了 EdgeButton 布局,使其底部内边距略大于顶部内边距,从而改善了图标和文字内容的显示效果。(Id772a)
  • 我们为 LinearProgressIndicator 添加了动态效果,并公开了 LinearProgressIndicatorContent,后者可提供不含动画的视觉内容。(Idee99)
  • 我们添加了一个新的 CircularProgressIndicatorContent 可组合项,用于显示 CircularProgressIndicator 的视觉内容,但不显示动画。(Ie33d4)
  • TransformingLazyColumn 新增了本地组合 LocalTransformingLazyColumnItemScopeCardButtonListHeader 现在使用该本地组合在放置到 TransformingLazyColumn 中时自动变形。调用者可以使用新的 TransformExclusion 封装容器停用自动变形。(I1652f)
  • 我们将 ButtonDefaults.shape 的类型更新为 RoundedCornerShape (Iccdf2)

bug 修复

  • 我们修复了一个 bug,以在 TimeText 的背景上保留现有的 Alpha 值 (I1eb60)
  • 我们在排版中将 TextMotion 默认设置为 Animated,以避免在缩放操作期间因将字母字形贴靠到像素边界而导致文字抖动。(I626fa)
  • 我们更新了 ScrollIndicator 的外观,增加了宽度和间隙大小,以提高可见度。(Ied7cb)
  • 我们修复了在 Modifier.scrollTransform 上添加/移除/移动项目时出现的 bug。(I6830f)
  • 我们修复了短按圆形按钮时出现的动画问题(之前,系统有时不会遵守最短动画时长)。(I757a7)
  • 我们将 LevelIndicator 的扫描角度更新为 20%(即 72 度)。(Idde5c)
  • 我们修复了将 ScalingLazyColumnAutoCenteringParams 搭配使用时 ScrollIndicator 的定位问题。(I387dd)
  • 我们更新了 ListHeaderListSubHeader 的颜色和排版。以及 CheckboxButtonSwitchButton 上切换控件的颜色。(I39817)
  • 我们已通过 ContentPadding 修复了 LazyColumnScalingLazyColumn 中的 ScrollIndicator 定位问题。(I2bc51)
  • 我们使用新的 CircularProgressIndicatorContent 修复了 OpenOnPhoneDialog 进度动画中出现的 bug。(I3e443)
  • 我们更新了 HorizontalPagerScaffoldVerticalPagerScaffold,以便在启用“减少动态效果”时停用动画 (Iaaf68)
  • 我们为圆形进度指示器实现了一个单独的动画,当进度达到 100% 以上时,该动画会显示。(I47135)
  • 我们修复了以下 bug:EdgeButton 在 Pager 组件中可能会以错误的形状绘制 (I91db9)

版本 1.0.0-alpha29

2024 年 11 月 13 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha29。版本 1.0.0-alpha29 中包含这些提交内容

API 变更

  • 我们已更新 TimeText 以提供显示时间的默认内容。(Id23b3)
  • 我们移除了不再需要的 orientation 参数,从而简化了 PagerStateScrollInfoProvider。新行为是让 TimeText 在水平和垂直分页时都保持在原位。(I71767)
  • LocalHapticFeedback 现在在 Vibrator API 指示支持触感反馈时提供默认的 HapticFeedback 实现。以下内容已添加到 HapticFeedbackType - ConfirmContextClickGestureEndGestureThresholdActivateRejectSegmentFrequentTickSegmentTickToggleOnToggleOffVirtualKey。Wear Compose 的长按可点击组件(例如 ButtonIconButtonTextButtonCard)现在会在提供长按处理程序时执行 LONG_PRESS 触感反馈。(I5083d)

bug 修复

  • 我们更新了确认的动态效果。(I04bff)
  • 我们已将 Compose 库的最低 API 依赖项更新为 1.7.4。(I88b46)
  • OpenOnPhone 对话框添加了新的动画效果。(I1e10a)
  • 我们修复了 LevelIndicator 中的一个 bug,现在当级别为零时,该属性可以正确显示。(Ie95a4)
  • 我们更新了 HorizontalPageIndicatorVerticalPageIndicator 动画。(I5c8f3)
  • 我们为不确定的 ArcProgressIndicator 添加了缩小到圆点的动画。(I9fd51)

版本 1.0.0-alpha28

2024 年 10 月 30 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha28。版本 1.0.0-alpha28 中包含这些提交内容

API 变更

  • 我们在不确定进度的环形进度指示器 (I2efc1) 上添加了弧形变体
  • 我们已公开构成 AlertDialog API 的 AlertDialogContentDialog 可组合项,以便在必要时添加自定义项(例如,在保留推荐内容布局的同时自定义 AlertDialog 动画)。此外,我们还向 AlertDialogDefaultsEdgeButtonConfirmButtonDismissButton 成员添加了 ModifierColor 参数。(I4eb71)
  • 我们已更新 Placeholder API,具体如下:将 PlaceholderState.startPlaceholderAnimation 重命名为 PlaceholderState.animatePlaceholder,将 PlaceholderState.isShowContent 重命名为 PlaceholderState.isHidden,并将 PlaceholderDefaults.shape 重命名为 PlaceholderDefaults.Shape;将 painterWithPlaceholderOverlayBackgroundBrush 中的 painter 参数重命名为 originalPainter;将 PlaceholderState.placeholderProgression 的公开范围从 public 更改为 internal,并将其重命名为 placeholderShimmerProgression;向 PlaceholderDefaults 添加了占位动画时长常量。(Ie5a59)
  • 我们已更新 EdgeButton API,具体如下:将 ScreenScaffold 上的参数从 bottomButton 重命名为 edgeButton;将 EdgeButtonSize 设为值类。(Ieef15)
  • 我们已在 Wear Material 3 颜色类 (I0287f) 中将 copy() 的公开范围更改为“公开”

bug 修复

  • 为点击时的 IconToggleButtonTextToggleButton 添加了最短动画时长 (Ieb333)
  • IconButtonTextButton 形状动画添加了最短时长 (Iebcee)
  • 修正了 DatePicker 的重复选项状态。(I3587c)
  • 为提醒和确认对话框添加了动画效果。(I173b1)

版本 1.0.0-alpha27

2024 年 10 月 16 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha27。版本 1.0.0-alpha27 中包含这些提交内容

API 变更

  • 我们将 ScreenScaffoldScrollIndicator 更新为与 Wear Compose Foundation LazyColumn 重命名为 TransformingLazyColumn 保持一致。(I0608b)
  • EdgeButtonpreferredHeight 参数已重命名为 buttonSize,其值只能从新引入的 EdgeButtonSize 值类中的 4 个常量中选择。(Icdd70)
  • 我们将 ListSubheader 的名称更改为 ListSubHeader,并为 ListHeaderListSubHeader 添加了可公开访问的默认值。(I96730)
  • 我们为 Wear 添加了新的 HorizontalPagerScaffoldVerticalPagerScaffold 组件,这些组件可在时间文本和页面指示器组件之间提供新的动画和协调。(Iff7d0)
  • 我们已为 HorizontalPagerScaffoldVerticalPagerScaffold 添加了旋转支持,使用户能够通过旋转输入设备来浏览分页器。(I9770d)
  • 我们对 MotionScheme API 进行了更改,以简化使用并提高一致性。移除了内嵌的 remember 函数,并将内置的运动方案移至专用的 MotionScheme 伴生对象。将 standardMotionSchemeexpressiveMotionScheme 重命名为标准和富有表现力。(I5fd45)
  • 我们添加了对基于系统颜色的动态配色方案的支持。(I073e9)
  • 我们已将步进器更新为符合最新的用户体验规范。(I622bb)

bug 修复

  • 我们更新了卡片组件的排版和内边距。(I3ae48)
  • 根据用户体验规范,我们将 AlertDialog 中“确认”/“关闭”按钮与其余内容之间的内边距从 8dp 更改为 12dp (Ie55f0)
  • 我们更新了滑块组件的颜色不透明度。(Idb383)

版本 1.0.0-alpha26

2024 年 10 月 2 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha26。版本 1.0.0-alpha26 中包含这些提交内容

API 变更

  • 我们更新了 HorizontalPageIndicator 的 API 和外观,并添加了 VerticalPageIndicator 以便与 VerticalPager 搭配使用 (Ic9309)
  • AlertDialog 现在支持从按钮堆栈变体中省略默认底部按钮,以用于不需要 EdgeButton 的自定义布局。(I34fa9)
  • 我们为 Wear Material 3 添加了 SwipeToReveal 组件 (Ic38b2)
  • 我们在 SwipeToReveal 中添加了对双向滑动操作的支持,以应对当前屏幕不支持滑动关闭的极少数情况。默认情况下,只有在从右向左滑动时才会显示,强烈建议您遵循此默认行为,以免与滑动关闭功能发生冲突。(Ifac04)
  • 我们已将 EdgeButtonbuttonHeight 参数重命名为 preferredHeight。(I4fab3)
  • Kotlin 版本已更新为 1.9 (I1a14c)
  • 我们将 OpenOnPhoneDialogDefaults.Icon 重命名为 OpenOnPhoneDialogDefaults.OpenOnPhoneIcon,以避免与 Icon 发生冲突(I0f391)
  • 我们在 LazyColumn 中添加了对 ScrollIndicator 的支持。(Ia546a)
  • 我们已更新 TextToggleButtonIconToggleButton 的默认值。(I7aaa9)
  • 我们简化了 PickerPickerGroup API。(Id0653)
  • 我们添加了 CardDefaults.ShapeCardDefaults.Height,这些(作为令牌)原本是使用该库的开发者的私有属性。(I1594ab/347649765
  • 我们已将二元分段环形进度指示器的进度参数重命名为 segmentValue。(Ib72d9)
  • 我们更新了滑块的颜色和布局。(Ic3eec)

bug 修复

  • 我们更新了 openOnPhone 图标动画 (I66f85)
  • 我们现在在 SliderTimePickerDatePicker 中使用 Google Symbols 图标。(I46c7c)
  • 我们更新了 ConfirmationOpenOnPhoneDialog 中的边衬区。(Iaa82e)

版本 1.0.0-alpha25

2024 年 9 月 18 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha25。版本 1.0.0-alpha25 中包含这些提交内容

API 变更

  • 我们添加了不确定性环形进度指示器。(I427a7)
  • 我们为 CircularProgressIndicatorSegmentedCircularProgressIndicator 添加了对进度溢出(进度 > 100%)的支持。当进度超过 1.0 时,新的 overflowTrack 颜色会指示这一点。(Iaaa3d)
  • 圆形 IconToggleButtonTextToggleButton 现在支持一种新的形状动画变体,其中不同的形状表示选中、未选中和按下状态。系统仍支持之前用于“刚刚按下”状态的动画形状变体。(I29f03)
  • 由于需要在 ScreenScaffold 中明确指定 EdgeButton 高度,因此我们移除了对将 EdgeButtonColumn 搭配使用的支持。(Ie353d)
  • 我们已添加对 Wear Compose LazyColumn 的支持,并使用 ScreenScaffold(还为 LazyColumnState 添加了 ScrollInfoProvider 的实现)。(Ib8d29)
  • 我们已将 LocalTextMaxLinesLocalTextAlignLocalTextOverflow 合并为一个 LocalTextConfiguration 组合本地,以便在未来提供更具可伸缩性的解决方案。(I5edbc)
  • 我们添加了 arc-large 作为额外的类型比例,专用于屏幕顶部或底部简短的标题文本字符串,例如在确认叠加层中。(I60e3e)
  • 我们为按钮添加了默认值,以用于建议的大号和超大号图标尺寸以及内容边衬区。(I84675)

bug 修复

  • 我们更新了 IconButtonTextButton 的颜色。(I48324)
  • 我们已更改基本 Button 重载,使其垂直居中对齐,以与其他重载保持一致。如需恢复之前的行为,请使用 RowScope 中的 Modifier.align。(I66e57)

版本 1.0.0-alpha24

2024 年 9 月 4 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha24。版本 1.0.0-alpha24 中包含这些提交内容

API 变更

  • 我们在 Material3 主题中添加了运动方案。库中的组件将使用此对象来应用动画规范,例如用于表现性运动的弹簧。(I54ff3)
  • 我们已将 AppScaffoldScreenScaffold 组件添加到 Material3 库中,这些组件包含用于协调 TimeTextScrollIndicator 的分层和过渡的功能。AppScaffold 提供位于所有屏幕顶部的顶层 Scaffold 组件。因此,向 AppScaffold 添加 TimeText 可让其在屏幕之间滑动时保持在原位。屏幕本身可以替换或隐藏时间文本。ScreenScaffoldScrollIndicator 提供了一个 slot,并在滚动时自动为滚动指示器添加动画效果,包括在不活动后超时隐藏滚动指示器。(I047d6)
  • 我们添加了采用全新 Material3 设计的 ScrollIndicator。它具有基于初始列表内容的固定缩略图大小,以避免在将延迟加载的内容加载到列表中时出现大小变化。(Ic228d)
  • 我们更改了 ScrollAway API,使 ScreenStage 成为值类而非枚举类,以便日后根据需要添加更多阶段。(I48c93)
  • 我们添加了 EdgeButton,这是一个独特的 Wear 专用按钮,其形状与屏幕底部的曲面相符 (I16369)
  • 我们已向 ScreenScaffold 添加了一个新 slot,用于放置底部按钮(例如 EdgeButton),该按钮将根据滚动内容显示和调整大小 (I032eb)
  • 我们添加了 Modifier.scrollTransformModifier.targetMorphingHeight,以便向 LazyColumn 中的项添加 Material3 运动效果。(Ie229a)
  • 我们添加了 SegmentedCircularProgressIndicator 作为 CircularProgressIndicator 的变体。细分后的变体要么显示所有细分的单个进度值,要么显示每个细分的开启/关闭状态。(I6e059)
  • 我们添加了 LinearProgressIndicator,以替代现有的 CircularProgressIndicator。(I89182)
  • 我们添加了 AlertDialog,可提供用于向用户显示重要提示的布局。变体包括一对确认/关闭按钮或选项堆叠下方的一个底部按钮(通常是 EdgeButton)。这两种变体都包含用于显示图标、标题和提供更多详细信息的其他文本的 slot。(Ieb873)
  • 我们添加了 OpenOnPhoneDialog,该属性应用于指示将在用户手机上继续执行的操作。OpenOnPhoneDialog 在指定超时时间后关闭。(I978fd)
  • 我们添加了 Confirmation,这是一个对话框组件,包含用于显示图标和弯曲或线性文本的槽位。针对成功/失败消息提供了具体变体。确认对话框会在超时后自动关闭。(Ib43e8)
  • 我们为 TimeText 添加了背景,以缓解底层内容与 TimeText 重叠并遮挡时间的问题。(Ia11fd)
  • 我们添加了 LevelIndicator,用于显示音量等设置的值,并且可以与现有的 Stepper 组件搭配使用来构建音量界面。LevelIndicatorScrollIndicator 类似,但显示在屏幕的另一侧,并且默认具有更宽的笔画宽度和不同的指示器颜色。(I8a4ac)
  • 我们添加了 TimePicker,其中包含 24 小时制时间(含或不含秒)或 12 小时制时间(含上午/下午选择)的布局。(Ia5124)
  • 我们添加了 DatePicker,其中包含列排序(即日-月-年、月-日-年或年-月-日)和可选的最小/最大日期配置。(Ibf13b)
  • 我们已向 TimeTexttext 函数添加了权重形参。如果 TimeText 由多个文本元素组成,则此属性可用于控制空间分配方式。(I36700)
  • 我们添加了 RadioButtonSplitRadioButton - 这些组件通过组合 (Split)SelectableButton 和子级无线电控制 (If7ae8) 来简化之前的 API
  • 我们添加了 CheckboxButtonSplitCheckboxButton - 这些组件通过将 (Split) ToggleButton 和子复选框控件 (Ia8f70) 组合在一起,简化了之前的 API
  • 我们添加了 SwitchButtonSplitSwitchButton - 这些组件通过组合 (Split)ToggleButton 和子 Switch 控件 (I0d349) 简化了之前的 API
  • 我们更新了 AnimatedText 文档,以说明过冲行为。(Iff30a)
  • 我们添加了 ButtonGroup,用于组合 2 个或 3 个按钮,以便按钮按压操作产生协调的动画。(Ie27db)
  • 我们为 IconButtonTextButton 添加了可选的形状动画(在按下时显示)。(Iffca5)
  • 我们为 ButtonIconButtonTextButtonCompactButtonEdgeButton 添加了额外的颜色变体 FilledVariant (I65fc3)
  • 我们向 ImageWithScrimPainter 添加了 forcedSize 参数,这样一来,按钮图片背景现在默认会保持其组件大小。设置 forcedSize = null 会改为采用 Painter.instrinsicSize。(Ic57af)
  • 我们已为按钮添加长按功能 (Ib613d)
  • 此外,还向 IconButtonTextButton 添加了长按支持。(I38891)
  • 已为卡片添加长按支持。(I305d5)
  • 我们已将 LocalTextMaxLinesLocalTextAlignLocalTextOverflow 添加为 CompositionLocals,并将其用作 Text 上的参数默认值。组合本地变量现在可供 CheckboxButtonSwitchButtonRadioButton 等组件用于实现用户体验指导,但开发者可以根据需要替换这些参数。(Iab841)
  • 我们添加了 Placeholder,以帮助遮盖按钮和卡片等组件的内容,直到数据加载完毕。(I1a532)
  • 我们添加了 IconToggleButtonColorsTextToggleButtonColors,以取代现已移除的 ToggleButtonColors。(Ie0bf1)

bug 修复

  • 我们已更新 ButtonFilledTonalButtonOutlinedButtonChildButtonCompactButton,以使用新的 CompositionLocalsLocalTextMaxLinesLocalTextAlignLocalTextOverflow 来实现用户体验指南 - 如有必要,开发者可以直接在 Text 上替换这些参数 (Ie51f7)
  • 我们将 LevelIndicator 的默认描边宽度更改为 6dp,以将其与描边宽度为 4dpScrollIndicator 区分开来。(If6f63)
  • 我们已修复 TimeText 中的一个问题,以便支持更大的扫描角度。(Ie489f)
  • 修复了 EdgeButton 重组期间的问题。(I4cdca)
  • 修正了在提供自定义内容边衬区时,拆分切换按钮的布局。(Ia33d3)
  • 将较小的进度值向上舍入到至少为进度指示器的线条宽度。(I3bd84)

版本 1.0.0-alpha23

2024 年 5 月 14 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha23。版本 1.0.0-alpha23 中包含这些提交内容

API 变更

  • 我们更新了 ToggleButtonRadioButton API,以便可以配置已停用的颜色。(If13a7)
  • 我们为 Material3 添加了新的 CircularProgressIndicator。(Ib3bd7)

bug 修复

  • 我们修复了以下 bug:当可选择的按钮处于选中状态时,系统会播报“点按两次即可切换”。(I7ed88)

版本 1.0.0-alpha22

2024 年 5 月 1 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha22。版本 1.0.0-alpha22 中包含这些提交内容

API 变更

  • 我们更新了 Material3 ColorScheme。(I7b2b8)
  • 我们更新了 Material3 Switch - 除了进行一些颜色更改之外,勾号现在与 Checkbox 中使用的勾号一致。(Icac7b)

bug 修复

  • 更新所有集成演示版以使用新的 rotaryScrollable 修饰符。(I25090)

版本 1.0.0-alpha21

2024 年 4 月 17 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha21。版本 1.0.0-alpha21 中包含这些提交内容

  • 此版本是因上一版本中存在导致缺少源 JAR 的技术问题而触发的。此版本中没有新的提交。

版本 1.0.0-alpha20

2024 年 4 月 3 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha20。版本 1.0.0-alpha20 中包含这些提交内容

bug 修复

  • 我们调整了 Ripple 按下和聚焦状态的 Alpha 值,以实现对比度。(I59f0a)
  • 我们根据字体排版样式和行高的最新变化,在 ButtonToggleButtonRadioButton 中添加了主标签和辅助标签之间的间距。(I2c0ba)

版本 1.0.0-alpha19

2024 年 3 月 6 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha19。版本 1.0.0-alpha19 中包含这些提交内容

API 变更

  • 我们已将 TimeText 添加到 Wear Compose Material 3 库中。此组件可在屏幕顶部显示当前时间(以及其他状态)。新的简洁 Material3 API 可避免线性内容和曲面内容之间出现重复。(I4d7c3)
  • 我们已将 RadioButton 的参数名称从 onSelected 更新为 onSelect。(I1a971)
  • RadioButtonSplitRadioButton 进行令牌化,并重构现有方法,通过添加缓存的颜色实例来减少 CompositionLocal 查找量,并将 RadioButtonColorsSplitRadioButtonColors 的方法设为内部方法。(I02b33)

版本 1.0.0-alpha18

2024 年 2 月 21 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha18版本 1.0.0-alpha18 中包含这些提交内容

API 变更

  • 我们通过在内部创建缓存实例并减少 CompositionLocal 的使用,重构了 CardColorsToggleButtonColorsSplitToggleButtonColors 的默认模式。(If3fec)

版本 1.0.0-alpha17

2024 年 2 月 7 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha17版本 1.0.0-alpha17 中包含这些提交内容

API 变更

  • 我们更新了 Button API 以默认使用 buttonColors,并移除了重复的 filledButtonColors。(I4fe3b)
  • 我们通过在内部创建缓存实例并减少 CompositionLocal 的使用,重构了 ButtonColorsIconButtonColorsTextButtonColors 的默认模式。(I5f51c)
  • 我们移除了组件特定颜色类中 rememberUpdatedState 的开销,并将颜色类中的访问器方法标记为内部方法。(If6571)

bug 修复

  • 我们已更新 Modifier.minimumInteractiveComponentSize 以使用 Modifier.node。(Iba6b7)

版本 1.0.0-alpha16

2024 年 1 月 24 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha16版本 1.0.0-alpha16 中包含这些提交内容

新功能

  • 我们添加了 CompactButton,该组件可以使用与按钮相同的实心、实心色调和轮廓颜色。(I05df0)

API 变更

  • 我们添加了 RadioButton/SplitRadioButton 作为选择控件(例如 Radio 控件)的容器。这与现有的 ToggleButton 不同,因为 RadioButton 是可选择的(并且在选择组内运行),而 ToggleButton 是可切换的(并且是独立的)。(I61275)
  • 为了与 Compose Material3 库保持一致,我们正在从 Wear Compose Material3 库中移除 LocalContentAlpha。(I49a0a)
  • 公开 MutableInteractionSource 的 Wear Material 和 Wear Material3 组件已更新为现在公开可为 null 的 MutableInteractionSource,其默认值为 null。这里没有语义变化:传递 null 表示您不希望提升 MutableInteractionSource,如果需要,它将在组件内部创建。更改为 null 可让某些组件永远不分配 MutableInteractionSource,并允许其他组件仅在需要时延迟创建实例,从而提高这些组件的性能。如果您未使用传递给这些组件的 MutableInteractionSource,建议您改为传递 null。建议您在自己的组件中进行类似的更改。 (Ib90fcb/298048146
  • wear:compose-materialwear:compose-material3 库中添加了新的涟漪 API,以取代已废弃的 rememberRipple。还添加了临时 CompositionLocalLocalUseFallbackRippleImplementation,以将 Material 组件恢复为使用已弃用的 rememberRipple/RippleTheme API。此属性将在下一个稳定版本中移除,仅用于在您提供自定义 RippleTheme 的情况下提供临时迁移帮助。如需了解迁移信息以及此变更背后的更多背景信息,请访问 developer.android.com。 (af92b21)
  • 我们对 HorizontalPageIndicator API 及其文档进行了一些细微的改进。(I60efc)
  • 我们已将 ColorScheme 更新为不可变,这会降低单个颜色更新的效率,但会提高更常见的颜色使用效率。此项变更背后的原因是,大多数应用都不会将更新单个颜色作为主要使用情形。虽然仍有可能,但它会比以前重新组合更多次,从而显著减少所有 Material 代码中的状态订阅数量,并影响更多标准用例的初始化和运行时费用。(Ibc2d6)
  • 更新了 ToggleButtonSplitToggleButton API,以允许自定义已停用的颜色。此外,现在还使用 Material Design 令牌来表示颜色和排版值。(If087c)
  • 更新了按钮图片背景颜色,以使用 Material Design 令牌。(Iba215)
  • 我们移除了点击处理功能,将 CheckboxSwitchRadioButton 组件更改为仅显示。这些组件预计将在处理点击的 (Split)ToggleButton 中使用,因此现在更清楚地表明这些组件仅用于显示(不适合在 Wear 上单独使用)。(I2322e)

bug 修复

  • 我们在 Wear Compose Material 3 中添加了时长和缓动的运动值令牌。(I437cd)
  • 我们修复了 ToggleButtonSplitToggleButtonCheckboxSwitchRadioButton 中的一个 bug,以便不再重复播报无障碍功能公告(之前,语义角色是重复的)。(Ica281)
  • 我们已移除 CompactButton 的 materialcore 层,以提高性能。(7902858)

版本 1.0.0-alpha15

2023 年 11 月 15 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha15版本 1.0.0-alpha15 中包含这些提交内容

API 变更

  • 我们已将基础级 SwipeToDismissBox 重命名为 BasicSwipeToDismissBox。这样可以更清楚地区分基础级组件和 Material3 级 SwipeToDismissBox。后者从 MaterialTheme 中提取颜色以用于遮罩,并将剩余的实现委托给 BasicSwipeToDismissBox。(Ibecfc)

bug 修复

  • 我们移除了 Material3 按钮的 material-core 层,以提高性能。(I55555)

版本 1.0.0-alpha14

2023 年 10 月 18 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha14版本 1.0.0-alpha14 中包含这些提交内容

API 变更

  • 我们已从 Material3 HorizontalPageIndicator 中移除了 indicatorStyle 参数,现在它会遵循设备屏幕形状(线性或圆形)。(I83728)
  • 我们添加了一个新的 SplitToggleButtonColors 类,将 SplitToggleButton 的颜色与 ToggleButton 的颜色分离开来。(I78bee)

版本 1.0.0-alpha13

2023 年 10 月 4 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha13版本 1.0.0-alpha13 中包含这些提交内容

API 变更

  • 我们已向 TitleCard 添加了可选的“字幕”字段。(Ifc45a)
  • 我们为 TextButton 添加了 Material Design 颜色令牌。(I769dc)

版本 1.0.0-alpha12

2023 年 9 月 20 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha12版本 1.0.0-alpha12 中包含这些提交内容

API 变更

  • 我们已更新 IconButton 以使用 Material Design 令牌。(I3f137)
  • 我们已更新 IconToggleButton 以使用 Material Design 令牌。(I7d263)
  • 我们已公开 CheckboxColorsRadioButtonColorsSwitchColors 的构造函数。(I82b73)

版本 1.0.0-alpha11

2023 年 9 月 6 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha11版本 1.0.0-alpha11 中包含这些提交内容

bug 修复

  • 我们将 Material3 卡片的排版更新为 TitleMedium。(I597bd)
  • 我们更新了 Material3 ListHeaderListSubheader 的排版和对齐方式。(Ib5ceb)

版本 1.0.0-alpha10

2023 年 8 月 23 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha10版本 1.0.0-alpha10 中包含这些提交内容

新功能

  • 在 Wear Material3 库中添加了 HorizontalPageIndicator。(Ifee99)

API 变更

  • 更新了按钮代码,以使用 Material3 设计令牌。(I92fe4)
  • 将 Wear Material 3 步进器和滑块 API 声明为实验性,因为界面细节仍在最终确定中。(I84d54)
  • 我们已从圆形 TextButtonTextToggleButton 中移除了 ExtraSmall 大小,因为该大小仅适用于 IconButton。(Ibc7d5)

bug 修复

  • 我们更新了有关 TextToggleButton 排版的指南,以针对 LargeButtonSize 使用 LabelLarge (Ib10fa)
  • 我们更新了有关 TextButton 的排版指南,以针对 LargeButtonSize 使用 LabelLarge (I8f3a7)
  • 为了实现无障碍功能,我们将 Card 的最小触摸目标设置为 48dp。(Ieb9b1)
  • 添加了带有图片的 AppCard 演示,移除了带有背景的 AppCard 演示 (Id735f)
  • 修复了圆形按钮中修饰符未正确链接的 bug。(I5e162)

版本 1.0.0-alpha09

2023 年 8 月 9 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha09版本 1.0.0-alpha09 中包含这些提交内容

新功能

  • 我们为 material3 添加了 ToggleButton (I6bed6)

API 变更

  • 我们已将之前在注释中声明的 FloatRange 注释作为 API 限制条件启用。(Icb401)
  • 我们已更新 Wear Material3 的排版,以符合最新的 Material3 指南。(I1bad6)

bug 修复

  • 我们已根据 Material3 设计更新了 ButtonIconButtonTextButton 的颜色。(Ib2495)
  • 我们修复了在停用状态下复选框勾选标记的显示问题。(Ib25bf)

版本 1.0.0-alpha08

2023 年 7 月 26 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha08版本 1.0.0-alpha08 中包含这些提交内容

新功能

  • 我们为 Material3 添加了以下选择控件 - SwitchCheckboxRadioButton。(Ib918c)
  • 我们在 Material3 中添加了 IconToggleButtonTextToggleButton,它们分别是具有单个图标槽位和文本槽位的圆形切换按钮。对于不同大小的 ToggleButton,我们建议使用 Modifier.touchTargetAwareSize,并采用相应切换按钮中提供的大小。(I9f015)
  • 我们已将 ListHeaderListSubheader 添加到 Material3 组件中。(Ibaefe)
  • 我们添加了 Material3 SwipeToDismissBox,它会调用新的 Foundation SwipeToDismissBox 并从其主题中提供默认颜色值。(I275fb)
  • 我们已将 Material3 InlineSlider 添加到 Wear Compose 中。它可让用户从一系列值中进行选择。选择范围会显示为最小值到最大值的横条,用户可以从该范围中选择单个值。InlineSlider 非常适合用于调整音量或亮度等设置。(I7085f)

API 变更

  • 我们更新了 Wear Material 3 主题中的形状,以使用 RoundedCornerShape 而不是 Shape。(Idb133)
  • 我们已将按钮的高度常量设为公开 (Idbfde)
  • 更新了 API 文件,以便为兼容性抑制添加注解。(I8e87ab/287516207
  • 我们已更新 Wear Compose Material 3 中的 InlineSliderColors,使其具有公开构造函数和公开属性。(I6b632)
  • 我们已更新 Wear Compose Material 3 中的所有颜色类,使其具有公共构造函数和公共属性。(I17702)
  • 我们已将按钮的水平和垂直内边距常量设为公开。(Ieeaf7)

bug 修复

  • 现在,如果需要,按钮会调整其高度,以适应因无障碍功能的大字体而增大的内容 (Iaf302)
  • 我们更新了多个按钮演示,以解决无障碍问题。(I61ce9)
  • StepperInlineSlider 现在支持在长按时重复点击,以便您可以通过按住 + 或 - 按钮快速增加/减少 StepperInlineSlider 的值 (I27359)

版本 1.0.0-alpha07

2023 年 6 月 21 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha07版本 1.0.0-alpha07 中包含这些提交内容

新功能

  • 我们已将 Stepper 组件添加到 Compose for Wear OS Material 3 库中。这与之前的 Material 版本类似,但根据开发者的反馈,默认情况下省略了范围语义。我们提供 Modifier.rangeSemantics 需要范围语义的情况。(Ic39fd)
  • 我们已将 curvedText 添加到 Compose for Wear OS Material 3 库中。(Ia8ae3)

bug 修复

  • 我们已将 wear.compose.foundation 更新为 wear.compose.material3 的 API 依赖项(I72004b/285404743

版本 1.0.0-alpha06

2023 年 6 月 7 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha06版本 1.0.0-alpha06 中包含这些提交内容

bug 修复

  • 我们已更新 TextButton 以使用 toDisabledColor 扩展函数来获得正确的已停用 Alpha 值。(I814c8)

版本 1.0.0-alpha05

2023 年 5 月 24 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha05版本 1.0.0-alpha05 中包含这些提交内容。

新功能

  • 我们已将 TextButton 添加到 Material3 中,这是一个圆形按钮,只有一个文本槽位。对于不同大小的 TextButton,我们建议使用 TextButtonDefaults 中提供的 Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon。默认的 TextButton 没有边框,背景透明,适用于低强调操作。对于需要高强调度的操作,请使用 filledTextButtonColors;对于中强调度的轮廓 TextButton,请将边框设置为 ButtonDefaults.outlinedButtonBorder;对于介于轮廓和填充之间的中间状态,请使用 filledTonalTextButtonColors。(I667e4)
  • 我们已将 CardOutlinedCardAppCardTitleCard 添加到 Wear Compose Material3 库中。AppCardTitleCard 还可以使用 CardDefaults.outlinedCardColorsCardDefaults.outlinedCardBorder 获得轮廓外观(I80e72)

API 变更

  • 我们将 Button 标签参数移到了末尾,以支持尾随 lambda 语法,并移除了角色参数(因为可以使用 Modifier.semantics 替换此参数)。ButtonColors 构造函数现在是公开的。(Ie1b6d)

版本 1.0.0-alpha04

2023 年 5 月 10 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha04版本 1.0.0-alpha04 中包含这些提交内容

新功能

  • 我们在 Material3 中添加了 IconButton,这是一个圆形按钮,只有一个用于放置图标/图片的槽位。有四种变体:IconButtonFilledIconButtonFilledTonalIconButtonOutlinedIconButton。对于不同大小的 IconButton,我们建议使用 IconButtonDefaults 中提供的 Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon。我们还提供 IconButtonDefaults.iconSizeFor 来确定给定按钮大小的建议图标大小。(I721d4)

版本 1.0.0-alpha03

2023 年 4 月 19 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

API 变更

  • 我们添加了 Material 3 Button 组件 - 这是我们的体育场形状按钮,之前在 Wear Compose Material 库中名为 Chip(为了与 Compose Material 3 库保持一致,已重命名为 Button)。默认按钮具有填充背景,还有 FilledTonal(静音背景)、Outlined(透明背景和细边框)和 Child(透明背景且无边框,用于突出程度最低的辅助操作)等按钮变体。在未来的版本中,我们将推出用于放置简单图标和文字内容的圆形按钮。(Ia6942)

版本 1.0.0-alpha02

2023 年 4 月 5 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha02版本 1.0.0-alpha02 中包含这些提交内容

bug 修复

  • 我们已向 Wear Compose Material 3 添加了 DefaultTextStyle,该参数默认将 PlatformTextStyle.includeFontPadding 设置为 true(当前设置)。这样一来,我们便可以在未来与 Compose 库同步默认关闭字体内边距(请参阅修复 Compose 中背景的字体内边距)。(I7e461)

版本 1.0.0-alpha01

2023 年 3 月 22 日

发布了 androidx.wear.compose:compose-material3:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

新功能

  • Material 3 是新一代 Material Design,包括已更新的主题和重新设计的组件。Wear Compose 上的 Material 3 能够与 Android 上的 Material 3 Compose 库相得益彰。第一个 Alpha 版本包含以下对象的早期功能性实现:

    • Material 主题 - 用于为库中的各个组件配置统一的配色方案、字体排版和形状。Material3 主题已修订颜色,可支持易于访问的对比度。(I84005)
    • 文本/图标 - Wear Compose 应用的基础组件 (I8e06a)
  • 我们将继续并行开发 Wear Material (androidx.wear.compose:compose-material) 和 Wear Material 3 (androidx.wear.compose:compose-material3)。未来的 Material3 版本将扩展 widget 集,以纳入 Compose for Wear OS 中的其他常用组件,例如按钮、选择器和滑块。

  • Wear Material 和 Wear Material 3 库是互斥的,不应在同一应用中混用,主要是因为它们引用了不同的主题,这会导致出现意外的不一致情况。