禁止商用。所有使用 PolarisUI 的应用都必须公开完整源码。查看许可条款
自定义配色与材质
所有整数颜色使用 ARGB:0xAARRGGBB。Colors.hex("#RRGGBB") 自动补充不透明 alpha;8 位十六进制是 #AARRGGBB,不是 CSS 的 #RRGGBBAA。
Theme theme = Theme.dark()
.background(Colors.hex("#15111C"))
.backgroundAccent(Colors.hex("#3A2E49"))
.surface(Colors.hex("#241A30"))
.text(Colors.hex("#F4EEF8"))
.muted(Colors.hex("#B9AFC5"))
.accent(Colors.hex("#DBCBEB"))
.accentText(Colors.hex("#251B30"))
.highlight(Colors.hex("#F3E6FF"))
.shadow(Colors.BLACK)
.disabledText(Colors.hex("#807187"))
.antialiasing(Antialiasing.HIGH)
.textMode(TextMode.AUTO);
ui.setTheme(theme);
Theme.light() 和 Theme.dark() 的默认强调色仍是灰/白/黑。已有公开字段保持可用,例如 ui.theme().sigma = 18;链式颜色 setter 只是更清晰的配置入口。
surface 是玻璃混合色;tint(float) 是混合强度。使用 tint(0.25f) 明确传入 float;tint(int) 接收颜色,等同于 surface,不要用整数 1 来表达 100% 混合。
highlight 直接进入玻璃 shader 的边缘反射颜色,alpha 调整其贡献;shadow 是背光侧的边缘暗部颜色,和模态遮罩 shade 不是同一项。高光仍有增亮上限,不恢复刺眼白圈。
accent / accentText 为按钮、开关、滑块等提供强调色和强调色上的文字。selected 供使用选择填充的文本/列表/数据控件;按钮的玻璃选中仍通过 accent 加 selectedTint 改变材质。field、border 供对应图元使用。danger/success/warning 是主题语义色,也可由宿主自定义控件引用,不表示库会自动识别任意业务消息的重要程度。
hoverTint、pressTint、selectedTint 是状态混合增量,不是叠放的新矩形。原先的按下收缩、释放回弹、开关滑动和通知动画保留。
背景配色影响 DesktopWindow 的内置演示背景。接入宿主已经绘制的 3D 场景时,宿主负责画背景;设置 Theme.background 不会偷偷覆盖已有 framebuffer。
颜色选择器自身的 HSV 色谱始终保留全色域。修改全局黑白主题不应把选择器色谱也变成灰色。
完整可运行示例:examples/CustomPalette.java。从根目录执行 run-example.cmd 21 CustomPalette 或 sh run-example.sh 8 CustomPalette。
实时材质调整
当前版本的全局材料参数可在展示右上角 LiquidGlass 设置中调整,也可通过 ui.theme().sigma(18).blur(.98f).refraction(16).shine(.82f).dispersion(.85f).tint(.2f).opacity(1) 设置。详细范围和 tint 的 float/int 重载区别见 实时材质设置。背景网格由 ui.background().grid(true) 控制,而不是主题颜色字段。
2.4.3 中 highlight / shadow 配色仍控制实际光学反射;默认只调整高光与色散的强度,没有恢复蓝色主题。见 高光与色散。