LVGL官方+100ASK合力打造的中文输入(拼音输入法)组件,让LVGL支持中文输入!

前言

LVGL V8.3 版本支持中文输入(拼音输入法)啦!
LVGL中的中文输入组件称为:lv_ime_pinyin,完全由我们百问网团队编写而成,合入到LVGL主仓库前代码托管在gitee和github平台中:

效果演示

之前版本的演示视频:

LVGL中的中文输入采用拼音输入法,支持26键和9键(九宫格)的布局模式,其中九宫格模式下可以切换到对小屏幕非常友好的数字键盘,使用起来非常顺手!

在这里插入图片描述

上手体验

想亲自体验 lv_ime_pinyin 的同学,可以前往百问网的LVGL中文站点(加载速度快),lv_ime_pinyin 在线demo体验地址:

百问网的LVGL中文站点和LVGL官方站点保持一致并实时更新!
直接访问: lvgl.100ask.net 会跳转到 lvgl v8.2 版本的文档,
这个版本还有中文翻译,v7.11也有中文翻译。该站点的所有版本:

深入了解 lv_ime_pinyin

关于 lv_ime_pinyin 的更多信息:

lv_ime_pinyin 在v8.3发布前一天匆忙完成,留下了4个问题,所以直接使用 8.3 版本的 ime_pinyin 会有问题(keil上甚至会报错) 。虽然当时已经尽快修复并提交,但已经只能提交到 9.0 版本。

解决办法是直接将 9.0 版本的ime_pinyin 部分的代码覆盖过来,这样就不会有问题

lv_ime_pinyin 的 v8.x版本有一个bug,在lvgl 9.x已经修复,bug描述:

关闭中文输入法以后曾经被输入法覆盖的控件无法使用了,好像输入法还在那个地方只是不显示了

修复:

你也可以自己解决这个bug,在 lv_ime_pinyin_constructor 函数中如下修改:

//lv_obj_set_size(obj, LV_PCT(100), LV_PCT(55));  将这行改为下面这行
lv_obj_align(obj, LV_ALIGN_BOTTOM_MID, 0, 0);