LittleVGL-键盘控件

前面讲述了独立按钮以及矩阵按钮,会了前两者之后,接下来的矩阵键盘按钮可能会惊艳到你。先看仿真效果;

在这里插入图片描述
v_kb 键盘有 2 种模式,一种是 LV_KB_MODE_TEXT 文本键盘,另一种是 LV_KB_MODE_NUM 数字键盘,其中文本键盘复杂一些,它里面包含了小写,大写,符号三类键盘,文本键盘
中的三类键盘是通过如下方式来切换的:
1) 点击 键切换到大写键盘
2) 点击 键切换到小写键盘
3) 点击 键切换到符号

在这里插入图片描述
在这里插入图片描述
LV_SYMBOL_OK: Apply确认,对应键盘上的 键,点击会触发LV_EVENT_APPLY事件
LV_SYMBOL_CLOSE: Close 关闭,对应键盘上的 键,点击会触发 LV_EVENT_C ANCEL 事件
LV_SYMBOL_LEFT: 将光标向左移动一步
LV_SYMBOL_RIGHT: 将光标向右移动一步
** “ABC”: 切换到大写键盘
“abc”: 切换到小写键盘
“Enter”: 换行
“Bkps”: 删除光标左侧的一个字符**

这个仿真出来的键盘就是littleVGL图形化界面上的一个简单控件,几行代码就完整的将其功能实现,接下来贴出代码:

`

void kb_test(void)
{
    /*Create styles for the keyboard*/
    static lv_style_t rel_style, pr_style;	

    lv_style_copy(&rel_style, &lv_style_btn_rel);
    rel_style.body.radius = 0;
    rel_style.body.border.width = 3;

    lv_style_copy(&pr_style, &lv_style_btn_pr);
    pr_style.body.radius = 0;
    pr_style.body.border.width = 3;

    /*Create a keyboard and apply the styles*/
    lv_obj_t *btnmkeybord = lv_kb_create(lv_scr_act(), NULL);	//创建键盘控件 
    lv_kb_set_cursor_manage(btnmkeybord , true);
    lv_kb_set_style(btnmkeybord , LV_KB_STYLE_BG, &lv_style_transp_tight);	//设置风格样式
    lv_kb_set_style(btnmkeybord , LV_KB_STYLE_BTN_REL, &rel_style);	//释放下的风格
    lv_kb_set_style(btnmkeybord , LV_KB_STYLE_BTN_PR, &pr_style);	//按下时的风格

    /*Create a text area. The keyboard will write here*/
    lv_obj_t *tag = lv_ta_create(lv_scr_act(), NULL);
    lv_obj_align(tag , NULL, LV_ALIGN_IN_TOP_MID, 0, 10);
    lv_ta_set_text(tag , "");

    /*Assign the text area to the keyboard*/
    lv_kb_set_ta(btnmkeybord , tag );
}

具体的整个仿真工程链接如下:
工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值