广东省城乡和建设厅网站,夏天做哪些网站能致富,小米网站 用什么做的,app下载网址键盘 (Keyboard) LVGL 可以添加触摸键盘#xff0c;但是很明显#xff0c;使用触摸键盘的话必须要使用触摸的输入方式#xff0c;否则无法驱动键盘。
示例代码
function keyCb(obj, e)-- 默认处理事件lvgl.keyboard_def_event_cb(keyBoard, e)if(e lvgl.EVENT_CANCEL)the…键盘 (Keyboard) LVGL 可以添加触摸键盘但是很明显使用触摸键盘的话必须要使用触摸的输入方式否则无法驱动键盘。
示例代码
function keyCb(obj, e)-- 默认处理事件lvgl.keyboard_def_event_cb(keyBoard, e)if(e lvgl.EVENT_CANCEL)thenlvgl.keyboard_set_textarea(keyBoard, nil)--删除 KeyBoardlvgl.obj_del(keyBoard)keyBoard nilend
endfunction textAreaCb(obj, e)if (e lvgl.EVENT_CLICKED) and not keyBoard then--创建一个 KeyBoardkeyBoard lvgl.keyboard_create(lvgl.scr_act(), nil)--设置 KeyBoard 的光标是否显示lvgl.keyboard_set_cursor_manage(keyBoard, true)--为 KeyBoard 设置一个文本区域lvgl.keyboard_set_textarea(keyBoard, textArea)lvgl.obj_set_event_cb(keyBoard, keyCb)end
endtextArea lvgl.textarea_create(lvgl.scr_act(), nil)
lvgl.obj_set_size(textArea, 200, 40)
lvgl.textarea_set_text(textArea, please input:)
lvgl.obj_align(textArea, DEMO_BASE_CONT, lvgl.ALIGN_CENTER, 0, -45)
lvgl.obj_set_event_cb(textArea, textAreaCb)创建
通过 keyboard_create 可以创建键盘实际上只要这一句就可在界面上显示键盘了。很难得的是键盘没有复制对象lvgl.keyboard_create 只需要传入一个参数就可以了。
keyBoard lvgl.keyboard_create(lvgl.scr_act())模式
键盘支持几种模式 分别是 大写,小写,数字符号。 可以通过 lvgl.keyboard_set_mode 切换键盘的模式。
lvgl.KEYBOARD_MODE_TEXT_LOWER -- 小写模式
lvgl.KEYBOARD_MODE_TEXT_UPPER -- 大写模式
lvgl.KEYBOARD_MODE_TEXT_SPECIAL -- 特殊符号模式(*)
lvgl.KEYBOARD_MODE_NUMBER -- 数字模式(*)目前可以通过 API 设置的模式是大小写模式其余模式需要在键盘上手动切换了其中数字和符号在键盘上是一种布局显示在一起的。我们来看下键盘的这几种模式:
小写
大写
数字符号 事件
键盘当然是输入了不过键盘的输入是针对于 文本框(Textarea) 控件的要想演示键盘的一个输入效果需要首先创建一个文本框同时对文本框控件设置点击事件的回调函数。当文本框控件被点击的时候就会创建一个键盘同时将键盘的输入绑定到文本框。当键盘点击确定或者取消时就销毁键盘在下次点击的时候重新创建。 键盘设置回调函数的方式如下但是单独设置键盘回调函数是没有什么意义的完整的代码可以参考上面的示例代码。
function keyCb(obj, e)-- 默认处理事件lvgl.keyboard_def_event_cb(keyBoard, e)if(e lvgl.EVENT_CANCEL)thenlvgl.keyboard_set_textarea(keyBoard, nil)--删除 KeyBoardlvgl.obj_del(keyBoard)keyBoard nilend
endkeyBoard lvgl.keyboard_create(lvgl.scr_act(), nil)
lvgl.obj_set_event_cb(keyBoard, keyCb)需要注意的是在处理键盘事件的开始首先要调用 lvgl.keyboard_def_event_cb 函数来进行一些默认的事件处理。
API
lvgl.imgbtn_create
调用lvgl.imgbtn_create(par)功能创建一个键盘对象返回指向创建键盘的指针参数par指向对象的指针, 它将是键盘的父对象
lvgl.keyboard_set_textarea
调用lvgl.keyboard_set_textarea(kb, ta)功能绑定文本框键盘的输入会传到这里参数kb指向创建键盘的指针ta需要绑定的文本框对象的指针。
lvgl.keyboard_set_mode
调用lvgl.keyboard_set_mode(kb, mode)功能设置键盘的新模式参数kb指向键盘对象的指针mode需要设置的键盘模式
lvgl.keyboard_set_cursor_manage
调用lvgl.keyboard_set_cursor_manage(kb, en)功能设置键盘在激活文本框时是否显示光标参数kb指向键盘对象的指针entrue 显示光标, false 不显示光标
lvgl.keyboard_get_textarea
调用lvgl.keyboard_get_textarea(kb)功能获取键盘绑定的文本框返回键盘绑定的文本框参数kb指向键盘对象的指针
lvgl.keyboard_get_mode
调用lvgl.keyboard_get_mode(kb)功能获取键盘当前的模式返回键盘当前的模式参数kb指向键盘对象的指针
lvgl.keyboard_get_cursor_manage
调用lvgl.keyboard_get_cursor_manage(kb)功能获取键盘当前是否会激活光标返回true 会显示光标false 不会显示光标参数kb指向键盘对象的指针
lvgl.keyboard_def_event_cb
调用lvgl.keyboard_def_event_cb(kb, e)功能默认处理键盘事件的程序。参数kb指向键盘对象的指针e键盘接收到的事件