# keyboard_t
# 概述
image
软键盘。
软键盘是一个特殊的窗口,由编辑器通过输入法自动打开和关闭。
这里介绍一下定制软键盘的方法:
编辑器输入类型和软键盘UI资源文件的对应关系:
输入类型 | 软键盘UI资源文件 |
---|---|
INPUT_PHONE | kb_phone.xml |
INPUT_INT | kb_int.xml |
INPUT_FLOAT | kb_float.xml |
INPUT_UINT | kb_uint.xml |
INPUT_UFLOAT | kb_ufloat.xml |
INPUT_HEX | kb_hex.xml |
INPUT_EMAIL | kb_ascii.xml |
INPUT_PASSWORD | kb_ascii.xml |
INPUT_ASCII | kb_ascii.xml |
INPUT_CUSTOM | 使用自定义的键盘 |
其它 | kb_default.xml |
keyboard中按钮子控件的名称有些特殊要求:
名称 | 功能 |
---|---|
return | 回车键 |
action | 定制按钮 |
backspace | 删除键 |
tab | tab键 |
space | 空格键 |
close | 关闭软键盘 |
clear | 清除编辑器的内容 |
cancel | 恢复编辑器的内容 |
back | 关闭当前窗口 |
back_to_home | 返回home窗口 |
前缀key: | 键值 |
前缀hard_key: | 模拟物理键盘 |
前缀page: | 切换到页面 |
前缀opt: | 多个字符选择一个,点击切换到下一个,超时提交字符(用于实现九宫格输入) |
示例:
- 按键"a",提交输入法处理。
<button repeat="300" name="key:a" text="a"/>
- 字符"a",直接提交到编辑器。
<button repeat="300" name="a" text="a"/>
- 模拟物理键盘数字"1",触发key down/up事件(可以用来选择候选字)。
<button repeat="300" name="hard_key:1" text="1"/>
- 九宫格输入
<button repeat="300" name="opt:._@/#" text="._@/#"/>
<button repeat="300" name="opt:abc" text="abc"/>
<button repeat="300" name="opt:def" text="def"/>
- 输入语言切换
有的输入法,同时支持输入多种语言。 比如T9,可以同时支持中文和英文输入,配合软键盘随时切换输入的语言。
可以在pages的页面里指定lang属性,切换到该页面时会设置输入法的语言。如:
<pages x="0" y="bottom" w="100%" h="-28" active="2">
<view name="lower" lang="en_us"
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
...
</view>
<view name="chinese" lang="zh_cn"
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
...
</view>
</pages>
- 键盘跟随。 默认情况下,键盘从底部弹出。如果需要让键盘在编辑器附近弹出,可以指定floating属性为true。如:
<keyboard theme="keyboard" w="200" h="200" floating="true">
更多用法请参考: kb_default (opens new window)
# 函数
函数名称 | 说明 |
---|---|
keyboard_cast | 转换为keyboard对象(供脚本语言使用)。 |
keyboard_close | 关闭keyboard窗口。 |
keyboard_create | 创建keyboard对象 |
keyboard_get_widget_vtable | 获取 keyboard 虚表。 |
# keyboard_cast 函数
- 函数功能:
转换为keyboard对象(供脚本语言使用)。
- 函数原型:
widget_t* keyboard_cast (widget_t* widget);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | widget_t* | keyboard对象。 |
widget | widget_t* | keyboard对象。 |
# keyboard_close 函数
- 函数功能:
关闭keyboard窗口。
- 函数原型:
ret_t keyboard_close (widget_t* parent);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | ret_t | 返回RET_OK表示成功,否则表示失败。 |
parent | widget_t* | keyboard对象。 |
# keyboard_create 函数
- 函数功能:
创建keyboard对象
- 函数原型:
widget_t* keyboard_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | widget_t* | 对象。 |
parent | widget_t* | 父控件 |
x | xy_t | x坐标 |
y | xy_t | y坐标 |
w | wh_t | 宽度 |
h | wh_t | 高度 |
# keyboard_get_widget_vtable 函数
- 函数功能:
获取 keyboard 虚表。
- 函数原型:
const widget_vtable_t* keyboard_get_widget_vtable ();
- 参数说明:
参数 | 类型 | 说明 |
---|---|---|
返回值 | const widget_vtable_t* | 成功返回 keyboard 虚表。 |