https://github.com/Moriafly/SaltUI/releases/tag/3.0.0-alpha02
# 3.0.0-alpha02
这是 Salt UI 3.0 的第二个 Alpha 版本。本次更新进一步完善了跨平台设计体系,带来重新设计的按钮与对话框 API、新增的
Card 组件、原生 macOS 标题栏交互、平台自适应的主题默认值,以及与 Compose 1.12 RC01 同步的滚动体验改进。> 这是一个包含破坏性 API 变更的预发布版本。标记了
@UnstableSaltUiApi 的 API 在 3.0 稳定版发布前仍可能继续调整。## 安装
commonMain.dependencies {
implementation("io.github.moriafly:salt-ui:3.0.0-alpha02")
// 可选的 Navigation 3 集成
implementation("io.github.moriafly:salt-ui-navigation:3.0.0-alpha02")
}## 兼容性
- Kotlin:`2.3.21`
- Compose Multiplatform:`1.12.0-rc01`
- Jetpack Compose:`1.12.0-rc01`
- Android minSdk:`23`
- Android compileSdk:`37`
## 重点更新
### 重新设计的按钮
Button 现在围绕外观、语义意图和平台自适应的控件尺寸重新设计:-
ButtonAppearance.Filled`、`Subtle 和 Plain-
ButtonIntent.Normal 和 Destructive-
ControlSize.Small`、`Regular 和 Large- 可选的前置图标
- 灵活的
RowScope 内容插槽- 针对不同平台的高度、内边距、图标尺寸和间距
- 通过
ButtonColors 明确定义启用和禁用状态的颜色Button(
onClick = { deleteItem() },
text = "删除",
appearance = ButtonAppearance.Filled,
intent = ButtonIntent.Destructive,
size = ControlSize.Regular
)
新增的
LocalControlSize 和 ProvideControlSize API 允许工具栏、对话框等容器为其子控件统一提供合适的控件密度。### 内容样式继承
Salt UI 现在通过以下 CompositionLocal 提供内容样式:
-
LocalContentColor-
LocalTextStyle-
ProvideTextStyleText 和 Icon 默认继承这些值。因此,按钮、对话框等组件可以统一向子内容提供颜色和排版样式,无需为每个子组件重复指定。### 改进的自适应对话框
对话框现在采用根据平台解析的几何形状和视觉表现:
- 连续圆角形状
- 不裁切的双层投影
- 平台特定的间距和控件密度
- 在受限窗口中可安全滚动的内容
- 根据可用空间自动采用水平或纵向操作按钮布局
- 在合适的平台和尺寸下使用等宽紧凑操作按钮
- 在宽度不足或无障碍字体缩放较大时自动堆叠按钮
- 标题和正文继承主题排版
- 确认和取消按钮文字不再被强制转换为大写
YesDialog`、`YesNoDialog 和 InputDialog 现在均使用 `BasicAdaptiveDialog`。`AdaptiveDialogSize.Min` 的最大宽度会根据平台解析为:
- Desktop:`260.dp`
- Android 和 iOS:`320.dp`
BasicAdaptiveDialog 和 BasicDialog 现在默认关闭平台默认宽度,使 AdaptiveDialogSize 成为对话框尺寸的唯一依据。### 新增 Card 组件
新增的实验性
Card 组件支持:- 内容形状裁切
- Salt UI 子材质背景
- 回退背景色
- 使用主题颜色的细边框
- 自定义形状和透明样式
Card {
// 内容
}### 原生 macOS 标题栏交互
macOS 窗口现在通过 AppKit 直接安装和管理标题栏。
本次更新包括:
- 原生标题栏窗口拖动
- 双击标题栏最大化或还原窗口
- 全屏状态切换处理
- 窗口和对话框的标题栏命中测试
- 基于约束的原生标题栏布局
- macOS 默认标题栏高度调整为
52.dpWindows 和 Linux 的默认标题栏高度仍为 `40.dp`。
Linux 标题栏按钮不再依赖字体字符,而是使用统一绘制的矢量风格图标,从而改善不同系统和字体环境下的显示一致性。
### 平台设计细节
- 为 iOS 增加更符合原生平台的浅色和深色背景默认值。
- 增大 Android 默认的中型和大型圆角半径。
- 调整 iOS 标题栏字重,使其更符合平台排版。
- 将 Desktop 默认列表项高度从 `48.dp` 缩小至 `32.dp`。
- 移除 `ItemButton` 标签被强制设置的粗体字重。
### 滚动与惰性布局
Salt UI 的 Foundation 实现已与 Compose 1.12 RC01 同步,同时保留 Salt UI 自定义的过度滚动行为。

