LVGL7.0高级界面开发-2

本文介绍如何使用LVGL库自定义键盘,通过代码实现用户自定义布局和移动,摆脱系统默认键盘的限制。

自定义键盘

系统定义的键盘不喜欢,反正代码开源,可以自己定制,还可以移动哦。

键盘代码.c文件

#include "lvgl/lvgl.h"
#include "../inc/user_keyboard.h"
#include <stdio.h>

User_Keyboard_info  User_Keyboard_t;
User_Keyboard_def  User_Keyboard_d;
lv_obj_t* label2; 

static const char* btnm_num_map[] = { LV_SYMBOL_LEFT, LV_SYMBOL_RIGHT, LV_SYMBOL_BACKSPACE,"\n",
                                                                  "1", "2", "3","\n",
                                                                  "4", "5", "6", "\n",
                                                                  "7", "8", "9", "\n",
                                                                  "+/-","0", ".","" };

static const char* btnm_map[] = { LV_SYMBOL_CLOSE, "" };

static void event_handler(lv_obj_t* obj, lv_event_t event)
{
    if (event == LV_EVENT_VALUE_CHANGED)
    {
        lv_label_set_text(label2, lv_textarea_get_text(User_Keyboard_d.testta));
        lv_obj_align(label2, User_Keyboard_t.cont, LV_ALIGN_IN_TOP_MID, 0, 0);
    }
}

//创建一个测试文本域
void Create_test_taxta(void)
{
    User_Keyboard_d.testta = lv_textarea_create(lv_scr_act(), NULL);
    lv_cont_set_fit2(User_Keyboard_d.testta, LV_FIT_PARENT, LV_FIT_NONE);
    lv_textarea_set_text(User_Keyboard_d.testta, "");
    lv_textarea_set_one_line(User_Keyboard_d.testta, true);
    lv_textarea_set_cursor_hidden(User_Keyboard_d.testta, true);
    lv_obj_set_event_cb(User_Keyboard_d.testta, event_handler);
}



static void del_event_handler(lv_obj_t* obj, lv_event_t event)
{
    if (event == LV_EVENT_RELEASED)
    {
        lv_obj_del(User_Keyboard_t.cont);
    }
}
//初始化键盘的参数
void Init_Keyboard_Param(void)
{
    User_K
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值