Skip to content

feat(settings): 添加主题预览功能并优化设置界面 - #545

Merged
kingzcheung merged 13 commits into
ximeiorg:mainfrom
kingzcheung:main
Jul 31, 2026
Merged

feat(settings): 添加主题预览功能并优化设置界面#545
kingzcheung merged 13 commits into
ximeiorg:mainfrom
kingzcheung:main

Conversation

@kingzcheung

@kingzcheung kingzcheung commented Jul 30, 2026

Copy link
Copy Markdown
Contributor
  • 实现主题预览弹窗功能,可实时查看配色方案的完整键盘效果
  • 修改主题选择逻辑,点击后先预览再应用,提升用户体验
  • 更新预览说明文字为"点击配色预览完整键盘效果"
  • 在ThemeSettingsScreen中添加必要的Compose状态管理相关导入

fix(keyboard): 调整符号键盘布局的内边距设置

  • 移除CommonSymbolKeyboardLayout中的多余padding配置
  • 保持原有的填充宽度和高度属性,确保布局正常显示

chore(deps): 更新子项目依赖至最新版本

  • librime子项目更新到dirty状态
  • librime-lua子项目更新到dirty状态
  • librime-lua-deps子项目更新到dirty状态

概述

简要描述此 PR 的目的和改动内容。

关联 Issue

Closes #(填写关联 issue 号)

改动类型

  • Bug 修复
  • 新功能
  • 重构
  • CI / 构建
  • 文档

自测清单

  • 代码编译通过
  • 已运行 ./gradlew test 并通过
  • 已在真机/模拟器上验证

备注

补充说明(如有)。

- 实现主题预览弹窗功能,可实时查看配色方案的完整键盘效果
- 修改主题选择逻辑,点击后先预览再应用,提升用户体验
- 更新预览说明文字为"点击配色预览完整键盘效果"
- 在ThemeSettingsScreen中添加必要的Compose状态管理相关导入

fix(keyboard): 调整符号键盘布局的内边距设置

- 移除CommonSymbolKeyboardLayout中的多余padding配置
- 保持原有的填充宽度和高度属性,确保布局正常显示

chore(deps): 更新子项目依赖至最新版本

- librime子项目更新到dirty状态
- librime-lua子项目更新到dirty状态
- librime-lua-deps子项目更新到dirty状态
@kingzcheung kingzcheung linked an issue Jul 30, 2026 that may be closed by this pull request
- 修改 xime.yaml 中 dark 模式下的按键背景色从 0x4A4A4A 为 0x60FFFFFF
- 改进 longToColor 函数以正确处理带透明度的颜色值
- 添加对超过 0xFFFFFF 的颜色值的直接支持
- 在主题预览中使用新的 surfaceContainerLow 颜色作为容器背景
- 更新主题预览中的按钮圆角样式
- 在主题预览键盘中使用图标替代文本显示特殊按键
- 重构候选栏预览以显示多个候选项并改善视觉效果
- 修复暗色主题下键盘按键背景色的计算逻辑
使用固定的颜色值替代动态计算的颜色,确保暗色主题下按键背景颜色的一致性。

由于之前的实现使用lightenColor函数动态调整颜色,在某些情况下可能导致
颜色不够理想,现在改为使用预定义的灰色值#FF4A4A4A来保证视觉效果。

BREAKING CHANGE: 暗色主题的按键背景颜色计算方式已更改
- 新增动物之森(Animal Crossing)主题,包含完整的亮暗色系配置
- 为主题系统添加深色模式下的独立颜色配置支持
- 实现按键背景色、文字色和候选词颜色的深色模式独立设置
- 更新主题预览界面的颜色计算逻辑,支持主题级别的颜色覆盖
- 优化键盘布局中的颜色应用机制,优先使用主题定义的颜色

refactor(theme): 重构主题颜色获取逻辑以支持主题级覆盖

- 修改键盘视图中按键背景色和文字色的获取方式
- 引入主题特定的颜色覆盖函数getKeyBgColorOverride等
- 实现候选词文本颜色的主题级别覆盖功能
- 统一各组件中主题颜色的应用方式

style(settings): 优化主题预览组件的视觉效果

- 调整预览按键的内边距以改善视觉呈现
- 为预览文本添加中等字重以提升可读性
- 增大预览字体大小从10sp到14sp
- 为第二行按键添加水平内边距以优化布局

chore(deps): 更新librime子项目依赖
- 新增樱花粉、晴空浅蓝、薄荷浅绿、丁香浅紫、蜜桃浅橙、奶油米白等6种浅色主题
- 重构图标按钮样式,使用M3设计规范的颜色混合算法
- 统一各组件中的暗色主题判断逻辑,改用MaterialTheme颜色方案
- 修复部分界面中硬编码的颜色值,改为动态主题适配
- 优化候选栏、菜单栏、快速发送等界面的按钮交互效果
- 移除不再使用的KeyboardColorsConfig相关代码
@github-actions github-actions Bot added the jni label Jul 31, 2026
- 修改 xime.yaml 中的渐变角度从 135 度调整为 90 度
- 移除硬编码的主题配置,改为由 xime.yaml color_schemes 提供
- 删除森林翠绿、珊瑚绯红、动物之森等旧主题
- 添加极光青蓝、落日余晖、深海渐变、紫梦渐变、玫瑰渐变、森林迷雾等新渐变主题
- 重命名樱花粉为主题为樱花粉黛
- 重构键盘背景渲染逻辑,支持纯色、渐变和图片背景类型
- 优化候选栏背景为透明显示,统一视觉效果
- 更新主题预览组件以支持新的背景配置方式
- 调整设置页面间距和组件参数
- 支持通过系统相册分享图片到 Xime 导入自定义背景
- 新增 3 个内置图片背景主题:夜幕之影、暮色之桥、大漠流金
- 添加 overlay_alpha 参数控制背景遮罩强度
- 实现主题配置合并逻辑,避免覆盖内置主题
- 优化背景图片加载性能,在 IO 线程解码
- 增加从图片自动提取主色调作为种子色的功能
- 更新候选栏预览以显示正确的文字大小
- 修复清理数据时误删 themes 目录的问题
- 优化copyThemeConfigTemplate函数,使用文件名前缀作为主题ID
- 添加themes/目录文件排除逻辑,避免被清单追踪
- 增强openThemeImageStream安全性,防止路径遍历攻击
- 实现主题种子色缓存机制,提升主线程性能
- 修复applyConfigOverrides函数参数传递问题

fix(security): 防止主题图片加载路径遍历

- 验证文件路径必须在rime目录下,避免安全风险
- 使用Box容器包装MenuBar背景,实现高度填充效果
- 调整Column布局为紧凑内容区域,分离背景扩展逻辑
- 优化Row和Column组件的内边距和间距配置
- 添加垂直内边距增强界面视觉舒适度
- 统一各子组件的间距处理方式,提升整体美观性
@github-actions github-actions Bot added the theme label Jul 31, 2026
移除了MenuBar组件中不必要的fillMaxHeight修饰符,
将外层Box替换为Column以简化布局嵌套,
调整了内部元素的权重分配和间距设置,
统一了多个菜单栏相关组件的布局优化。

BREAKING CHANGE: 布局结构有所调整,可能影响现有样式
为键盘布局组件添加了独立的气泡背景颜色参数,
使得滑动输入时的气泡颜色可以与按键颜色区分开来,
提升了用户界面的视觉效果和可定制性。

- 在CommonSymbolKeyboardLayout、EnglishKeyboardLayout、
  NumberKeyboardLayout、StrokeKeyboardLayout、T9KeyboardLayout
  等组件中添加bubbleBackgroundColor参数
- 将滑动气泡的背景颜色从按键背景颜色解耦
- 在KeyboardLayoutScreen和KeyboardView中应用新的颜色配置
为XimeTheme组件添加themeId参数,用于支持键盘主题配置。

修复了暗色主题切换时的主题应用问题。
- 更新app/build.gradle.kts中的versionName从2.6.0-beta1到2.6.0-beta2

fix(ui): 移除主题预览中的多余样式

- 移除ThemeHalfPreview组件中候选栏的圆角和背景色设置
- 移除了.clip(RoundedCornerShape(2.dp))和.background(candidateBarColor)

chore(deps): 更新子项目提交状态

- 更新librime、librime-lua和librime-lua-deps的子项目提交标记为dirty状态
@kingzcheung
kingzcheung merged commit 908745e into ximeiorg:main Jul 31, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 重塑主题系统,添加更多形式主题。

1 participant