LVGL拼音输入法插件(lv_100ask_pinyin_ime)
-
演示视频:https://www.bilibili.com/video/BV1DY41147xX
介绍
lv_100ask_pinyin_ime
是在 lv_keyboard 的基础上编写的一个自定义部件(创建接口为:lv_100ask_pinyin_ime_create(lv_obj_t *parent));
),它和 lv_keyboard 没有什么区别,只是增加了支持中文拼音输入法的功能。所以将其称为:支持中文拼音输入法的LVGL键盘(lv_keyboard)部件增强插件。
正常来说,只要是lvgl能运行的环境
lv_100ask_pinyin_ime
也能够运行!影响因素主要有两点:使用的字库文件大小和使用的词库大小。lv_100ask_pinyin_ime
使用起来非常简单,后续自定义拓展功能也很方便,更多功能敬请期待。lv_100ask_pinyin_ime特性:
- 资源占用低
- 支持自定义词库
- 支持自定义样式(候选栏、键盘)
- 支持简拼
- 支持双拼(TODO)
- 可加载词库文件(TODO)
- 自动更新词库(TODO)
- 九宫格模式(TODO)
使用方法
参考 lv_lib_100ask/test/lv_100ask_pinyin_ime_test 的示例。
自定义词库
如果不想使用内置的拼音词库,可以使用自定义的词库。
或者觉得内置的拼音词库消耗的内存比较大,也可以使用自定义的词库。自定义词库非常简单。
- 首先,在
lv_lib_100ask_conf.h
中将LV_100ASK_PINYIN_IME_ZH_CN_PIN_YIN_DICT
设置为0
- 然后,按照下面这个格式编写词库。
词库格式
必须按照下面的格式,编写自己的词库:
lv_100ask_pinyin_dict_t your_pinyin_dict[] = { { "a", "啊阿呵吖" }, { "ai", "埃挨哎唉哀皑蔼矮碍爱隘癌艾" }, { "ba", "芭捌叭吧笆八疤巴拔跋靶把坝霸罢爸扒耙" }, { "cai", "猜裁材才财睬踩采彩菜蔡" }, /* ...... */ { "zuo", "昨左佐做作坐座撮琢柞"}, {NULL, NULL}
最后一项必须要以 '{NULL, NULL}' 结尾,否则将无法正常工作。
应用新词库
按照上面的词库格式编写好词库之后,只需要调用这个函数即可设置使用你的词库:
lv_obj_t * pinyin_ime = lv_100ask_pinyin_ime_create(lv_scr_act()); lv_100ask_pinyin_ime_set_dict(pinyin_ime, your_pinyin_dict);
注意: 必须在设置好词库之后再使用
lv_100ask_pinyin_ime
模拟器体验
基于codeblocks 20.03+windows10编译:lv_100ask_pinyin_ime_beta-v2.0.zip
代码
github: https://github.com/100askTeam/lv_lib_100ask/tree/master/src/lv_100ask_pinyin_ime
gitee: https://gitee.com/weidongshan/lv_lib_100ask/tree/master/src/lv_100ask_pinyin_ime
参考
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号