Skip to content

v1.4.0 — 性能优化 + 单手模式兼容 + Gboard 药丸适配

Choose a tag to compare

@rebron1900 rebron1900 released this 11 Jun 16:53
· 16 commits to main since this release

🚀 v1.4.0 Release Notes

性能优化

  • 主题切换不再变卡 — 修复 OnGlobalLayoutListener 累积问题,每次切主题不再叠加新的 listener
  • 反射缓存findAppearanceView 加 WeakHashMap 缓存,避免每次布局事件都走反射
  • listener 精简makeKeysTranslucent 从 listener 移出,只在 apply 时执行一次;listener 中只保留 addKeyBorders
  • 防重入 — listener 加 sApplying 标志,避免递归触发
  • 闭包泄漏修复 — ContentObserver 不再捕获旧 view,改用 mCurrentInputView

Gboard 药丸按键适配

  • 适配 fxliang 版 Gboard 的药丸(pill)形状按键(确认键、布局切换键)
  • 药丸按键使用对角描边 + 加粗边框
  • 修复药丸检测失效问题(SP 缓存导致 special_key_oval_shape 永远是 false)
  • 修复切换药丸设置后描边不更新(listener 缺少 special_key_oval_shape 监听)

单手模式兼容

  • 修复单手模式下 preedit 宽度问题 — 检测 isOneHanded 状态,跳过 layout fix,保留 fxliang 自己的 padding 对齐

其他修复

  • 按键描边 inset 精确计算 — 从 outer KeyView 读取 hMargin/vMargin
  • drawable 链解析 — 正确检测实际按键 drawable 的圆角和形状
  • 主题切换时清除旧缓存(sBorderedViews / sOriginalForegrounds / sAppearanceCache

已知问题

  • fxliang 原版 bug:左手单手模式下 popup 位置错位(非插件导致)