源码阅读笔记-配置
如何切换中/英键盘?
问题简述:
在 3.2.13 前,可以通过 *.trime.yaml 文件的配置,切换中/英文键盘。 切换过程中,中/英文输入模式也跟着切换。在新版中如何实现?
解决方式:
在中文模式和英文模式的键盘中,都加入 reset_ascii_mode: true 配置项 例子:
#键盘布局
preset_keyboards:
default:
author: "Shitlime"
name: 26键默认布局
width: 10
lock: true
ascii_mode: 0
# 在这里加入新的配置项:
reset_ascii_mode: true
keys:
- {click: q, long_click: 1, swipe_up: '!', key_back_color: bh1, key_text_color: wk}
- {click: w, long_click: 2, swipe_up: '@', key_back_color: bh1, key_text_color: wk}
- {click: e, long_click: 3, swipe_up: '#', key_back_color: bh1, key_text_color: wk}
- {click: r, long_click: 4, swipe_up: '$', key_back_color: bh1, key_text_color: wk}
- {click: t, long_click: 5, swipe_up: '%', key_back_color: bh1, key_text_color: wk}
- {click: y, long_click: 6, swipe_up: '^', key_back_color: bh1, key_text_color: wk}
- {click: u, long_click: 7, swipe_up: '&', key_back_color: bh1, key_text_color: wk}
- {click: i, long_click: 8, swipe_up: '*', key_back_color: bh1, key_text_color: wk}
# ……对应源码片段:
TextInputManager.kt 中,存在这段代码:
悬浮窗消失问题
问题描述:
使用同文风主题可以复现:
先打开键盘,输入任意字符可以看到编码悬浮窗;
打开液体键盘(liquid keyboard);
返回到主键盘
输入任意字符,发现编码悬浮窗消失,并且之后都消失了;
但是默认的 trime.yaml 主题却表现正常。
解决方式:
在以后的版本中将解决这个bug,如果使用旧版,可以按如下方式解决这个问题:
给有这个bug的主题配置文件( *.trime.yaml )加上 liquid\_keyboard\_window
bug对应源码片段:
trime/app/src/main/java/com/osfans/trime/ime/text/Composition.java
在上面这个方法中使用了 this.setVisibility(GONE); 导致编码悬浮窗不可见, 然后在下面的方法中执行 mComposition.getRootView().setVisibility(View.VISIBLE); 但是 .getRootView() 获取的是View,并不是 Composition 本身,所以 setVisibility(View.VISIBLE) 实际并没有产生效果。
trime/app/src/main/java/com/osfans/trime/ime/core/Trime.java
Last updated