当前位置: 首页 > wzjs >正文

贵阳网站建设电话个人网站建设的收获

贵阳网站建设电话,个人网站建设的收获,游戏设计师网站,影业的网站怎么做文章目录 LVGL 中的 lv_keyboard 详解一、基本概念1. 主要用途2. 类型定义 二、常用函数接口1. 创建键盘2. 设置目标输入框(关联文本输入)3. 设置键盘模式4. 获取当前模式5. 设置键盘关闭时的回调(如隐藏键盘) 三、使用示例四、自…

文章目录

  • LVGL 中的 `lv_keyboard` 详解
    • 一、基本概念
      • 1. 主要用途
      • 2. 类型定义
    • 二、常用函数接口
      • 1. 创建键盘
      • 2. 设置目标输入框(关联文本输入)
      • 3. 设置键盘模式
      • 4. 获取当前模式
      • 5. 设置键盘关闭时的回调(如隐藏键盘)
    • 三、使用示例
    • 四、自定义键盘布局(进阶)
    • 五、注意事项
    • 六、典型应用场景



LVGL 中的 lv_keyboard 详解

lv_keyboard 是 LVGL 提供的一个虚拟键盘控件,通常用于触摸屏设备,在需要文本输入时配合 lv_textarea 使用。它支持数字键盘、英文键盘、符号键盘等多种模式,能够有效提高嵌入式系统下的人机交互体验。


一、基本概念

1. 主要用途

  • lv_textarea 搭配,提供触控输入。
  • 适合嵌入式设备(如 STM32 + 屏幕)中替代实体键盘。

2. 类型定义

lv_obj_t * lv_keyboard_create(lv_obj_t * parent);

创建一个键盘对象,指定其父对象。


二、常用函数接口

1. 创建键盘

lv_obj_t * kb = lv_keyboard_create(lv_scr_act());

创建一个键盘控件,并挂载在当前活动屏幕上。


2. 设置目标输入框(关联文本输入)

lv_keyboard_set_textarea(kb, ta);

将键盘与一个 lv_textarea 对象 ta 关联,使得点击键盘时自动向该输入框插入文本。


3. 设置键盘模式

lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_TEXT);

LVGL 键盘支持几种输入模式:

模式枚举值说明
LV_KEYBOARD_MODE_TEXT默认英文全键盘
LV_KEYBOARD_MODE_NUM数字键盘(0-9)
LV_KEYBOARD_MODE_SPECIAL符号键盘
LV_KEYBOARD_MODE_USER_1/2用户自定义模式

4. 获取当前模式

lv_keyboard_mode_t mode = lv_keyboard_get_mode(kb);

5. 设置键盘关闭时的回调(如隐藏键盘)

lv_obj_add_event_cb(kb, keyboard_event_cb, LV_EVENT_VALUE_CHANGED, NULL);

常见的处理方式是在回调中检查是否按下的是 “OK” 或 “Close” 键,然后隐藏键盘。

void keyboard_event_cb(lv_event_t * e)
{lv_event_code_t code = lv_event_get_code(e);lv_obj_t * kb = lv_event_get_target(e);if(code == LV_EVENT_VALUE_CHANGED) {const char * txt = lv_btnmatrix_get_btn_text(kb, lv_btnmatrix_get_selected_btn(kb));if(strcmp(txt, "OK") == 0 || strcmp(txt, "Close") == 0) {lv_obj_add_flag(kb, LV_OBJ_FLAG_HIDDEN); // 隐藏键盘}}
}

三、使用示例

lv_obj_t * ta = lv_textarea_create(lv_scr_act());
lv_obj_set_size(ta, 200, 50);
lv_obj_center(ta);// 创建键盘并关联输入框
lv_obj_t * kb = lv_keyboard_create(lv_scr_act());
lv_obj_set_size(kb, 320, 150);
lv_keyboard_set_textarea(kb, ta);

这样点击键盘时输入内容就会同步到 ta 上了。


四、自定义键盘布局(进阶)

你也可以通过 lv_btnmatrix_set_map 自定义键盘键值布局,例如:

static const char * my_map[] = {"A", "B", "C", "\n","1", "2", "3", "\n","OK", "DEL", ""
};lv_keyboard_set_map(kb, LV_KEYBOARD_MODE_USER_1, my_map, NULL);
lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_USER_1);

五、注意事项

  • 创建 lv_keyboard 后默认是全键盘布局,使用 lv_keyboard_set_mode 切换其他模式。
  • 键盘控件通常不需要放在滚动区域或页面中,应固定在屏幕底部。
  • lv_keyboard 默认高度比较高,如有需求可根据分辨率进行缩放或裁剪。

六、典型应用场景

  • 触摸屏上的登录界面(账号/密码输入)
  • 设置界面中的数值/名称输入
  • 终端设备的用户交互(如 POS 机、工业设备)

http://www.dtcms.com/wzjs/575220.html

相关文章:

  • 俄语在线网站制作wordpress自定义统计
  • 企业信息公开网站江门专业网站制作公司
  • 西安网站建设建站系统wordpress导航栏的文件在哪
  • 常德市住房和城乡建设局网站前端培训出来进公司都不会
  • 网页设计尺寸早起可视区域长沙seo网络公司
  • 铁岭免费移动网站建设上海热点新闻
  • asp.ne做网站苏州最好的网站建设
  • 旅游网站源码下载广西建设职业学院技术教务系统网站
  • 那些是flash做的网站网络营销与推广方法
  • 陕西百威建设监理有限司网站彩页设计画面元素
  • 陕西建设系统个人信息查询网站ulysses wordpress
  • 怎么查网站的备案网络营销网站推广的基本策略
  • 做商品网站的教学视频logo在线设计标小智
  • 城市建设模拟游戏官方网站做服装搭配图的网站有哪些
  • iis如何发布asp.net网站佛山建站平台
  • 旅游村庄网站建设方案2021最火营销方案
  • 佛山网站设计专业网站做404页面怎么做
  • 上街做网站wordpress更改语言
  • 企业网站制作收费接做网站简介
  • 搜索附近的电子产品网站的seo优化怎么做
  • 做网站大概要多少百度关键词搜索推广
  • seo建站公司网站的优化 优帮云
  • 增城网站建设推广关于制作网站的方案
  • 广州著名网站建设公司网站开发验收规范
  • 如何在wordpress中添加背景音乐? |宁波关键词优化企业网站建设
  • 做淘宝客网站违法吗久久建筑网怎样
  • 做网站必须搭框架么建设主流媒体网站
  • 什么建站程序最利于seo做一个公司网站需要多少钱
  • 17一起做网站包包平面排版网站
  • 网络优化首先要有网站海南在线招聘