【LVGL-键盘部件,实体按键控制】

■ LVGL-键盘部件

在这里插入图片描述
在这里插入图片描述

■ 示例一:键盘弹窗提示

lv_keyboard_set_popovers(kb,true);

在这里插入图片描述

■ 示例二:设置键盘模式

lv_keyboard_set_mode(kb,KEYBOARD_MODE_NUMBER); //数字键盘模式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

■ 综合示例:

/**
 * @brief  键盘事件回调
 * @param  *e :事件相关参数的集合,它包含了该事件的所有数据
 * @return 无
 */
static void keyboard_event_cb(lv_event_t *e)
{
    lv_event_code_t code = lv_event_get_code(e);                            /* 获取事件类型 */
    lv_obj_t *target = lv_event_get_target(e);                              /* 获取触发源 */

    if(code == LV_EVENT_VALUE_CHANGED)
    {
        uint16_t id = lv_btnmatrix_get_selected_btn(target);                /* 获取键盘按钮索引 */

        const char *txt = lv_btnmatrix_get_btn_text(target, id);            /* 获取按钮文本 */

        if(strcmp(txt, LV_SYMBOL_KEYBOARD) == 0)                            /* 判断是不是键盘图标被按下 */
        {
            if(lv_keyboard_get_mode(target) == LV_KEYBOARD_MODE_NUMBER)     /* 获取当前键盘模式,判断是否为数字模式 */
            {
                lv_keyboard_set_mode(target, LV_KEYBOARD_MODE_TEXT_LOWER);  /* 如果是数字模式,则切换为小写字母模式 */
            }
            else
            {
                lv_keyboard_set_mode(target, LV_KEYBOARD_MODE_NUMBER);      /* 不是数字模式,则切换为数字模式 */
            }
        }
    }
}

/**
 * @brief  键盘实例
 * @param  无
 * @return 无
 */
static void lv_example_keyboard(void)
{
    /* 文本框 */
    lv_obj_t *textarea = lv_textarea_create(lv_scr_act());                              /* 创建文本框 */
    lv_obj_set_size(textarea, scr_act_width() - 10, scr_act_height() / 2 - 10);         /* 设置大小 */
    lv_obj_align(textarea, LV_ALIGN_TOP_MID, 0, 0);                                     /* 设置位置 */
    
    /* 键盘 */
    lv_obj_t *keyboard = lv_keyboard_create(lv_scr_act());                              /* 创建键盘 */
    lv_keyboard_set_textarea(keyboard, textarea);                                       /* 关联键盘和文本框 */
    lv_obj_add_event_cb(keyboard, keyboard_event_cb, LV_EVENT_VALUE_CHANGED, NULL);     /* 设置键盘事件回调 */
}

在这里插入图片描述

■ LVGL-实体按键控制

■ 简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. unity获取键盘按键

    2024-03-28 12:04:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 12:04:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 12:04:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 12:04:01       87 阅读
  4. Python语言-面向对象

    2024-03-28 12:04:01       96 阅读

热门阅读

  1. vue nextTick的简化版

    2024-03-28 12:04:01       46 阅读
  2. C#面:选择题:关于try-catch-finally

    2024-03-28 12:04:01       35 阅读
  3. 深入理解 @Transactional 注解在 Spring 中的应用

    2024-03-28 12:04:01       43 阅读
  4. Standard C String & Character(标准c字符和字符串)

    2024-03-28 12:04:01       34 阅读
  5. gitlab创建某个时间点分支

    2024-03-28 12:04:01       47 阅读
  6. 【QT学习笔记】目录 (不定时更新)

    2024-03-28 12:04:01       45 阅读
  7. php程序员如何成为编程高手

    2024-03-28 12:04:01       38 阅读
  8. Vue 实践中的理解

    2024-03-28 12:04:01       39 阅读
  9. Vue 模版编译原理

    2024-03-28 12:04:01       45 阅读
  10. 调用第三方接口:springBoot整合forest

    2024-03-28 12:04:01       48 阅读
  11. 使用vue根据表格内容生成Excel表格并下载

    2024-03-28 12:04:01       41 阅读