081、LVGL基础控件:键盘(Keyboard)
📅 2026/7/8 7:18:13
👁️ 阅读次数
📝 编程学习
LVGL基础控件:键盘(Keyboard)
上周调试一个智能家居面板项目,客户反馈触摸屏上的数字输入框弹不出键盘。我第一反应是“键盘控件没使能”,结果翻了一遍代码,lv_keyboard_create调了,lv_textarea_set_one_line也设了,就是点上去没反应。最后发现是键盘的mode没设置——默认是LV_KEYBOARD_MODE_TEXT_LOWER,但客户要的是纯数字键盘。这个坑让我意识到,LVGL的键盘控件虽然看起来简单,但细节藏得比想象中深。
键盘控件的本质
lv_keyboard本质上是一个特殊的lv_btnmatrix子类。它继承按钮矩阵的所有特性,但内置了预定义的按键布局和输入逻辑。这意味着你可以像操作按钮矩阵一样修改按键样式,但千万别直接调用lv_btnmatrix_set_map去改键位——我见过有人这么干,结果键盘布局全乱套了。
创建键盘的代码就一行:
lv_obj_t*kb=lv_keyboard_create
编程学习
技术分享
实战经验