AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章进行解答。
假设目前需要在AWTK程序中用到中文输入法,并且要自定义输入法的联想词,此时需要用到AWStudio添加软键盘和输入法。下面将介绍如何使用AWStudio在项目中添加中文输入法以及如何修改联想词,并且如何移植到嵌入式设备中。下图是实现中文输入法并移植到 ZTP800示教器 的效果图:
图1ZTP800中文输入法效果图
使用AWStudio添加软键盘
在AWStudio中带有软键盘的默认样式,用户可以直接使用该软键盘样式。创建该默认软键盘也比较简单,只需点击AWStudio的“新建窗体”按钮,接着选择“Keyboard”,确定后即可看到软键盘的UI文件生成。图2AWStudio添加默认软键盘接着还需要从awtk/3rd/gpinyin/data目录将gpinyin.dat文件添加到项目资源目录的data目录下,例如:res/assets/default/raw/data,这里可以在AWStudio的资源管理器中点击“导入”按钮添加到“其他数据”分类中。最后将软键盘与控件关联,修改edit控件的“keyboard”属性指定刚刚创建的软键盘窗体。
图3使用AWStudio导入gpinyin.dat
修改中文输入法联想词
联想词是指在输入了某个汉字或词组后,输入法根据该汉字或词组提供其常用的组词。如果想要修改联想词的顺序或是增加新的词语等,需要修改awtk/3rd/gpinyin/data目录下的配置文件rawdict_utf16_65105_freq.txt。配置文件中包含了各个词语的汉字、使用频率和对应的拼音,使用频率数值越大,对应的联想词越靠前。例如:下图的“爸爸”使用频率数值大于“巴巴”,那么当输入“baba”拼音时,“爸爸”的显示顺序会比“巴巴”靠前。
图4 联想字库配置文件
修改完配置文件后,在awtk目录下打开终端,执行以下命令,该程序会生成一个新的gpinyin.dat,按照前面步骤拷贝到项目资源目录,如:assets/default/raw/data/。
./bin/gpinyingen
将中文输入法移植到嵌入式Linux平台
嵌入式Linux的官方移植层awtk-linux-fb默认加入了中文输入法,用户在PC上根据文章前面步骤添加好中文输入法,使用AWStudio打包资源,将项目拷贝到交叉编译环境下使用awtk-linux-fb交叉编译应用即可。
将中文输入法移植到RTOS平台
将中文输入法代码文件加入编译
对于其它平台如RTOS平台添加中文输入法的步骤会复杂一些,需要将中文输入法相关的代码文件加入编译(比如将这些代码文件添加到keil编译),详细步骤如下:
- 加入以下目录的代码文件:awtk/3rd/gpinyin/src;
- 加入代码文件:awtk/src/input_engines/input_engine_pinyin.cpp;
- 去掉下面的代码文件,不加入编译:awtk/src/input_engines/input_engine_null.cpp;
- 加入下面的include路径:awtk/3rd/gpinyin/include;
- 加入gpinyin.dat到应用资源目录data文件夹内。
添加输入法宏
- 在平台对应移植层的awtk_config.h文件内定义宏:
WITH_IME_PINYIN
另外还需要取消以下两个宏的定义:
- WITH_NULL_IMWITHOUT_INPUT_METHOD
-
软键盘
+关注
关注
0文章
10浏览量
6345 -
示教器
+关注
关注
2文章
29浏览量
3742 -
awtk
+关注
关注
0文章
42浏览量
216
发布评论请先 登录
相关推荐
评论