Salt UI 发布 3.0.0-alpha02 https://github.com/Moriafly/SaltUI/releases/t… — 不要糖醋放椒盐 — TG.ME

Salt UI 发布 3.0.0-alpha02

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`、`SubtlePlain
- ButtonIntent.NormalDestructive
- ControlSize.Small`、`RegularLarge
- 可选的前置图标
- 灵活的 RowScope 内容插槽
- 针对不同平台的高度、内边距、图标尺寸和间距
- 通过 ButtonColors 明确定义启用和禁用状态的颜色

Button(
onClick = { deleteItem() },
text = "删除",
appearance = ButtonAppearance.Filled,
intent = ButtonIntent.Destructive,
size = ControlSize.Regular
)


新增的 LocalControlSizeProvideControlSize API 允许工具栏、对话框等容器为其子控件统一提供合适的控件密度。

### 内容样式继承

Salt UI 现在通过以下 CompositionLocal 提供内容样式:

- LocalContentColor
- LocalTextStyle
- ProvideTextStyle

TextIcon 默认继承这些值。因此,按钮、对话框等组件可以统一向子内容提供颜色和排版样式,无需为每个子组件重复指定。

### 改进的自适应对话框

对话框现在采用根据平台解析的几何形状和视觉表现:

- 连续圆角形状
- 不裁切的双层投影
- 平台特定的间距和控件密度
- 在受限窗口中可安全滚动的内容
- 根据可用空间自动采用水平或纵向操作按钮布局
- 在合适的平台和尺寸下使用等宽紧凑操作按钮
- 在宽度不足或无障碍字体缩放较大时自动堆叠按钮
- 标题和正文继承主题排版
- 确认和取消按钮文字不再被强制转换为大写

YesDialog`、`YesNoDialogInputDialog 现在均使用 `BasicAdaptiveDialog`。

`AdaptiveDialogSize.Min` 的最大宽度会根据平台解析为:

- Desktop:`260.dp`
- Android 和 iOS:`320.dp`

BasicAdaptiveDialogBasicDialog 现在默认关闭平台默认宽度,使 AdaptiveDialogSize 成为对话框尺寸的唯一依据。

### 新增 Card 组件

新增的实验性 Card 组件支持:

- 内容形状裁切
- Salt UI 子材质背景
- 回退背景色
- 使用主题颜色的细边框
- 自定义形状和透明样式

Card {
// 内容
}


### 原生 macOS 标题栏交互

macOS 窗口现在通过 AppKit 直接安装和管理标题栏。

本次更新包括:

- 原生标题栏窗口拖动
- 双击标题栏最大化或还原窗口
- 全屏状态切换处理
- 窗口和对话框的标题栏命中测试
- 基于约束的原生标题栏布局
- macOS 默认标题栏高度调整为 52.dp

Windows 和 Linux 的默认标题栏高度仍为 `40.dp`。

Linux 标题栏按钮不再依赖字体字符,而是使用统一绘制的矢量风格图标,从而改善不同系统和字体环境下的显示一致性。

### 平台设计细节

- 为 iOS 增加更符合原生平台的浅色和深色背景默认值。
- 增大 Android 默认的中型和大型圆角半径。
- 调整 iOS 标题栏字重,使其更符合平台排版。
- 将 Desktop 默认列表项高度从 `48.dp` 缩小至 `32.dp`。
- 移除 `ItemButton` 标签被强制设置的粗体字重。

### 滚动与惰性布局

Salt UI 的 Foundation 实现已与 Compose 1.12 RC01 同步,同时保留 Salt UI 自定义的过度滚动行为。
GitHub
Release 3.0.0-alpha02 · Moriafly/SaltUI
This is the second alpha release of Salt UI 3.0. It refines the cross-platform design system with redesigned button and dialog APIs, a new Card component, native macOS title-bar interactions, platf...
🎉35
August 23, 2026 5.1K 7 1