osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.08k stars 372 forks source link

不写 `keyboard_height` 参数时液态键盘不显示 #1316

Open Wenti-D opened 6 months ago

Wenti-D commented 6 months ago

Describe the bug 若主题文件中 style 下没有 keyboard_height 一行,调用液态键盘时它不会显示出来(可能看起来像高度为 0)

To Reproduce

  1. tongwenfeng.trime.yaml 第 82 行 keyboard_height: 250 注释掉;
  2. 重新载入主题;
  3. 调用剪贴板;
  4. BOOM。

Expected behavior 在之前一段时间,未指定 keyboard_height 不影响液态键盘显示,看起来有一个「默认高度」什么的。

Log com.osfans.trime-2024-03-29T07_07_12Z.txt

Screenshots (这是使用同文风主题测试的结果,把整个手机屏幕全截下来了)

Smartphone (please complete the following information):

shitlime commented 6 months ago

液态键盘高度为0,这个bug确实是有的

Additional context 顺便问问,这不 3.2.18 的测试版吗,怎么构建出来的版本有时还挂着 3.2.17 呢?

构建出来的版本 3.2.17 可能是因为你clone后编译,可以检查git tag。

Wenti-D commented 6 months ago

构建出来的版本 3.2.17 可能是因为你clone后编译,可以检查git tag。

好了,现在成 nightly 了。

goofyz commented 6 months ago

現在 liquid keyboard 會將高度設定為 keyboard_height

你是有什麼原因不想寫 keyboard_height 嗎?

Wenti-D commented 6 months ago

因为我主题的不同键盘本身就高度不一,如果指定 keyboard_height 会让键高不一致。

eric1ee commented 6 months ago

現在 liquid keyboard 會將高度設定為 keyboard_height

你是有什麼原因不想寫 keyboard_height 嗎?

现在最新的版本keyboard_height似乎是不起作用呀,设置了高度,切换键盘还是有闪烁 screenshots

goofyz commented 6 months ago

現在 liquid keyboard 會將高度設定為 keyboard_height。 你是有什麼原因不想寫 keyboard_height 嗎?

现在最新的版本keyboard_height似乎是不起作用呀,设置了高度,切换键盘还是有闪烁 screenshots screenshots

這是另一問題( #1250 ),我正在修正。

goofyz commented 6 months ago

因为我主题的不同键盘本身就高度不一,如果指定 keyboard_height 会让键高不一致。

你為了令每個鍵高一致,而放棄了鍵盤高度的一致? 那麼你希望 liquid keyboard 的高度是什麼?

Wenti-D commented 6 months ago

你為了令每個鍵高一致,而放棄了鍵盤高度的一致?

差不多,以前用 Gboard 就是键盘高度固定而键高会有变化,个人感觉难受。

那麼你希望 liquid keyboard 的高度是什麼?

一些想法:

shitlime commented 6 months ago

当前liquid keyboard的高度是由height(按键高度)控制的,与普通的keyboard一样。 个人认为这个设计已经出现了一些问题:

  1. 按键高度(liquid_keyboard/height keyboard/height)不能直观反映整个键盘的高度。
  2. 键盘高度(style/keyboard_height)在正常工作的情况下,是锁定全局键盘高度的,可以很直观反映整个键盘的高度,但部分键盘有自定义高度的需求,比如中文键盘4排按键、英文键盘5排按键(多一排数字键),这时候就希望英文键盘高一点。

我认为可以:

  1. 在键盘高度(style/keyboard_height)的同级增加一个配置项,来决定是否锁定全局键盘高度,而键盘高度(style/keyboard_height)只用来指定键盘的缺省高度。
  2. 在所有键盘中添加一个参数(如liquid_keyboard/keyboard_height keyboard/keyboard_height)用来设定该键盘的高度。
  3. 对按键高度(liquid_keyboard/height keyboard/height)参数的作用进行重新定义,向按键宽度看齐,数值也就是占整个键盘高度的百分比。如:height: 10 表示占键盘高度的10%,这与 width: 10 表示占整个键盘宽度10%类似。
goofyz commented 5 months ago

当前liquid keyboard的高度是由height(按键高度)控制的,与普通的keyboard一样。 个人认为这个设计已经出现了一些问题:

1. 按键高度(`liquid_keyboard/height` `keyboard/height`)不能直观反映整个键盘的高度。

2. 键盘高度(`style/keyboard_height`)在正常工作的情况下,是锁定全局键盘高度的,可以很直观反映整个键盘的高度,但部分键盘有自定义高度的需求,比如中文键盘4排按键、英文键盘5排按键(多一排数字键),这时候就希望英文键盘高一点。

我认为可以:

1. 在键盘高度(`style/keyboard_height`)的同级增加一个配置项,来决定是否锁定全局键盘高度,而键盘高度(`style/keyboard_height`)只用来指定键盘的缺省高度。

2. 在所有键盘中添加一个参数(如`liquid_keyboard/keyboard_height` `keyboard/keyboard_height`)用来设定该键盘的高度。

3. 对按键高度(`liquid_keyboard/height` `keyboard/height`)参数的作用进行重新定义,向按键宽度看齐,数值也就是占整个键盘高度的百分比。如:`height: 10` 表示占键盘高度的10%,这与 `width: 10` 表示占整个键盘宽度10%类似。

參考你的建議,我覺得可以:

WhiredPlanck commented 5 months ago

@Wenti-D 这其实符合预期。因为液态键盘一直是和主键盘同样高度的,以前没有显式地表现出来。技术上来说,液态键盘曾经和主键盘同住一个“屋檐下”,主键盘多高,液态键盘就有多高。而现在分离开了,为了保持它们大部分时候能够同高,液态键盘直接取回了 keyboard_height 作为自己的高度,所以如果你没有这个参数,当然是显示不出来的。

Wenti-D commented 5 months ago

因为液态键盘一直是和主键盘同样高度的,以前没有显式地表现出来。

那也就是说之前的液态键盘高度是当前输入法目标键盘的高度?有点接近「设定为切换前键盘的高度」。

WhiredPlanck commented 5 months ago

因为液态键盘一直是和主键盘同样高度的,以前没有显式地表现出来。

那也就是说之前的液态键盘高度是当前输入法目标键盘的高度?有点接近「设定为切换前键盘的高度」。

应是如此。不过我得承认这部分目前的实现并不是很好。

atlanticfirst commented 5 months ago

刚刚更新到f-droid最新版也遇到了这个问题,通过添加keyboard_height显示出来了,太感谢了