当前位置: 首页 > news >正文

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)中查找开发技术资料或发帖向我们提问,期待您与华芯微特的每一次邂逅!

http://www.dtcms.com/a/478789.html

相关文章:

  • wordpress tag生成的链接乱张家港优化网站seo
  • 中天建设集团网站wordpress显示不了图片
  • 【React】19.2 新特性全面解析:并发优化与性能提升指南
  • SALSITA AI:3D产品演示、安装动态过程展示
  • 网站建设国内现状松原网站推广
  • 东营区建设局网站湛江城乡建设局网站
  • 多制式基站综合测试线的架构与验证实践(2)
  • 基于单片机智能水产养殖系统设计(论文+源码)
  • 关于STM32L051单片机(Stop)休眠唤醒后初始化USART2,单片机死机问题
  • 做网站的一些好处科技类网站简介怎么做
  • xgboost参数含义以及应付金融数据中的类别不平衡的套路
  • 养殖类网站模板建筑设计网站排行榜
  • Cursor 对话技巧 【Prompt 模板与全局通用规则】
  • 按键控制LED灯
  • 打工人日报#202510012
  • 网站备案 做网站东莞有互联网企业吗
  • 涪城移动网站建设如何自己学建设网站
  • codeforces round1057(div2)AB题解
  • 【ADS】【python基础】jupyter notebook环境极简搭建
  • 【办公类-115-05】20250920职称资料上传04——PDF和PDF合并PDF、图片和PDF合并PDF(十三五PDF+十四五图片)
  • MySQL分库分表方案及优缺点分析
  • 存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
  • 星外网站开发苏州网络推广
  • 怎么做网站横幅建设工程协会网站查询系统
  • 1NumPy 常用代码示例
  • 【工业场景】用YOLOv8实现行人识别
  • 新手玩Go协程的一些小坑
  • STM32的VDD和VSS,VDDA和VSSA,REF+与REF-。
  • 基于STM32的智能门禁系统(论文+源码)
  • 新乡网站建设价格怎么做网站模块