Synwit UI Creator中文输入法移植指南
一、引言
科技发展日新月异,越来越多的家用、商用、工业等产品用上了TFT-LCD彩屏,使用带来了直观的体验,带来了更多的交互方式,如按键、旋钮,再到近似于手机的屏幕触控输入体验。如中文输入法则是一大重要的需求,那么如何在SWM34S平台,基于Synwit UI Creator上位机不同版本的中文输入法的移植,接下来请跟随小编一起看看吧。
二、移植步骤
(1)我们提供了基于UI Creator的中文输入法移植工程,网盘路径:03.Synwit_UI_Creator 套件(LVGL上位机)/01.DEMO/05.基于UIcreator实现的中文输入法/swm34s_UICreator_vx.x.x_ChineseInput_yyyymmdd.zip。
由于UI Creator版本的迭代,因此需要用户自行移植到最新的版本。首先我们先准备好最新版本的UI Creator工程,这里以UI_Creator v5.3.0为例创建一个工程,如图1。(创建工程的流程详见《Synwit_UI_Creator屏驱上位机使用手册》)
图1
(2)新建工程后,选择“编辑框”控件,单击画布新增控件,设置弹出软键盘为“否”,点击“测试窗体”,等待仿真器弹出,同时会自动在工程目录下生成UI文件。如图2。
图2
(3)将ui_src同步到keil工程中,同时将ui.bin和字体文件(Must_Copy_to_SpiFlash\
SourceHanSansSC_Regular_16.hmf)烧录至SPI Flash(或其他外部存储介质)后。(烧录外部Flash流程详见《Synwit_UI_Creator屏驱上位机使用手册》)
从原旧版本例程中复制lv_chineseinput文件夹(路径为:lvgl7\lvgl\lvgl\src\lv_chineseinput)到新版本UI Creator配套工程的同名路径中,并在keil工程中添加该文件,如图3、4所示:
图3
图4
添加后还需要对相应的头文件进行包含,点击keil工程中的魔术棒-->C/C++-->Include path,添加如图5的路径
图5
如果遇到如图6所示的报错,请找到lv_conf.h中将LV_FONT_SIMSUN_16_CJK的宏置1,如图7。
图6
图7
(4)打开screen001.c(生成的界面c文件),绑定编辑框和中文输入法键盘,设置键盘显示字体等,如图8所示:
图8
(5)由于UI Creator默认选择了空样式为主题,所以此时的键盘样式为空,会看到没有边框,因此,需要复制原工程中lvgl\lvgl\src\lv_themes\lv_theme_empty.c的文件替换到新的工程中,如图9所示:
图9
(6)编译后下载,可以看到中文输入法已经移植成功啦!
三、定制化需求
根据不同项目的UI风格,默认的样式不一定能够满足所有项目的需求,可以根据不同需求修改键盘样式,例如修改键盘的颜色、边框、字体等。
例如:在分辨率较高的场景,默认键盘的字体样式会偏小,不利于用户的阅读和输入,这时候可能要替换字号更大的字体(hmf生成方式参考《Synwit UI Creator 与LVGL结合应用指引》14. 字体转换工具),方法如下:在frameword_ready中加载新的字体,并替换默认字体,如下图10所示
图10
四、结束语
华芯微特屏驱上位机以所见即所得的界面开发方式,解决了工程师开发过程中复杂的UI布局的难题,今天带来的中文输入,丰富了应用场景,可以在不同产品中应用,有需要了解更多,可以在华芯微特论坛(bbs.synwit.cn)中查找开发技术资料或发帖向我们提问,期待您与华芯微特的每一次邂逅!