LVGL的常用的接口

 接口如下

/*----------------------------------------------------------------------------------------------------------------------*/
    // LVGL常用接口笔记

    // 一些关于对象的操作接口:基本都是lv+对象类型+操作,
    // 除创建对象接口外指针,返回值基本都是void

    // 声明一个图像变量(用于c数组)
    LV_IMAGE_DECLARE(img_cogwheel_argb);

    lv_obj_t * screen  = lv_screen_active();                     // 创建活跃屏幕对象(无父对象)
    lv_obj_t * obj     = lv_obj_create(screen);                  // 在屏幕上创建一个对象
    lv_obj_t * btn     = lv_button_create(lv_screen_active());   // 创建按钮对象
    lv_obj_t * label   = lv_label_create(btn);                   // 创建标签对象
    lv_obj_t * img1    = lv_image_create(lv_screen_active());    // 创建图形对象
    lv_obj_t * bar1    = lv_bar_create(lv_screen_active());      // 创建进度条对象
    lv_obj_t * slider  = lv_slider_create(lv_screen_active());   // 创建滑块对象
    lv_obj_t * pwd_ta  = lv_textarea_create(lv_screen_active()); // 创建文本输入框对象
    lv_obj_t * kb      = lv_keyboard_create(lv_screen_active()); // 创建一个键盘
    lv_obj_t * mbox1   = lv_msgbox_create(NULL);                 // 创建消息框
    lv_obj_t * tabview = lv_tabview_create(lv_screen_active());  // 创建表格试图

    void lv_image_set_src(img1, 图像来源);         // 设置图像源(3种途径,c数组(png),"A:./photo/11.bmp",带有symbols)
    void lv_image_set_src(img1, LV_SYMBOL_AUDIO); // 带有symbols的图像来源
    lv_event_code_t code = lv_event_get_code(e);  // 在回调函数void button_cb(lv_event_t * e)中获取事件号
    void     *    obj = lv_event_get_target(e);   // 在回调函数void button_cb(lv_event_t * e)获取当前触发事件的对象
    lv_obj_t * label  = lv_event_get_user_data(e);// 获取用户传过来的标签或传消息框等其他(这样就可以不用设置全局变量了)

    lv_obj_t * child  = lv_obj_get_child(父对象, 父的孩子对象);   // 返回孩子的指针
    lv_obj_t * parent = lv_obj_get_parent(对象);                 // 获取当前父亲对象
    char * text       = lv_label_get_text(label);               // 获取标签文本的信息
    int value         = lv_slider_get_value(slider);            // 获取滑块的当前值
    char * textarea   = lv_textarea_get_text(textarea);         // 获取输入文本框内容
    lv_obj_t * tab1   = lv_tabview_add_tab(tabview, "粉面");    // 添加表格选项
    lv_obj_t * tab2   = lv_tabview_add_tab(tabview, "汤粉");    // 添加表格选项

    void lv_screen_load(屏幕的指针);                            // 加载活跃的屏幕对象
    void lv_label_set_text(label, "标签上显示的内容");
    void lv_label_set_text_fmt(label, 显示格式);
    void lv_label_set_style_text_font(label, &lv_font_montserrat_24, 0);
    void lv_image_set_scale(img, 256为一倍);                       // 设置图片大小(缩放效果)
    void lv_image_set_rotation(img, 角度(0 - 3600));               // 旋转角度0-360°
    void lv_bar_set_value(bar1, new_value, LV_ANIM_ON / OFF);      // 设置进度条的值
    void lv_bar_set_range(bar1, min, max);                         // 设置进度条范围
    void lv_slider_set_value(slider, new_value, LV_ANIM_ON / OFF); // 设置滑块当前
    void lv_slider_set_range(slider, min, max);                    // 设置滑块范围
    void lv_textarea_add_char(pwd_ta, 'c');                        // 文本输入框中添加一个字符
    void lv_textarea_add_text(pwd_ta, "insert this text");         // 文本输入框中添加字符串
    void lv_textarea_set_placeholder_text(pwd_ta, "Password");     // 文本输入框中添加提示信息
    void lv_textarea_set_one_line(pwd_ta, true);                   // 当行模式
    void lv_textarea_set_password_mode(pwd_ta, true);              // 密码模式
    void lv_textarea_delete_char(pwd_ta);                          // 删除光标左侧的字符
    void lv_keyboard_set_textarea(kb, pwd_ta);                     // 把键盘设置到文本输入框中
    lv_msgbox_add_title(mbox1, "Hello");                           // 给消息框添加标题
    lv_msgbox_add_text(mbox1, "是否要删除");                        // 添加提示信息
    lv_msgbox_add_close_button(mbox1);                             // 添加关闭按钮
    btn = lv_msgbox_add_footer_button(mbox1, "Apply");             // 添加应用按钮
    btn = lv_msgbox_add_footer_button(mbox1, "Cancel");            // 添加取消按钮
    void lv_tabview_set_tab_bar_position(tabview, LV_DIR_LEFT);    // 设置表格试图的位置
    void lv_tabview_set_tab_bar_size(tabview, 80);                 // 设置选框的大小
    void lv_screen_load_anim(screen, 动画类型, 动画时间(us级), 延时切换,
                             bool auto_del);                       // 动画加载屏幕,最后一个参数是自动删除旧屏幕

    void lv_obj_delete(obj);                                         // 删除对象
    void lv_obj_center(obj);                                         // 快速将对象放到中间
    void lv_obj_set_width(label, 150)                                // 设置标签文本的宽
    void lv_obj_set_style_text_align(lable, LV_ALIGN_CENTER, 0); // 设置文本的对齐规则
    void lv_obj_set_size(obj, 800, 480);                             // 设置对象长宽(大小)
    void lv_obj_set_pos(对象, x, y);                                 // 设置对象位置
    void lv_obj_align(obj, LV_ALIGN_BOTTOM_MID, 0, 0);
    void lv_obj_align_to(需设置的对象, 参考位置, LV_ALIGN_BOTTOM_MID, 0, 0);
    void lv_obj_set_parent(对象, 新父对象);
    int lv_obj_get_child_count(父对象);               // 获取当前孩子数
    void lv_obj_move_foreground(对象);                // 将一个对象置于前景
    void lv_obj_move_background(对象);                // 将一个对象移动到背景
    void lv_obj_move_to_index(对象,图层位置);         // 将一个对象移动到子对象顺序的第几层
    void lv_obj_swap(对象1, 对象2);                    // 交换两个对象的相对图层位置
    void lv_obj_add_flag(img, LV_OBJ_FLAG_CLICKABLE); // 给图片添加flag标志使其具有点击功能
    void lv_obj_add_flag(kb, LV_OBJ_FLAG_HIDDEN);     // 给键盘添加隐藏事件
    void lv_obj_remove_flag(kb, LV_OBJ_FLAG_HIDDEN);  // 显示键盘
    void lv_obj_set_style_bg_color(tabview, lv_palette_lighten(LV_PALETTE_RED, 2), 0);

    // lvgl的核心事件(每个对象每时每刻都发生着各种各样的事件)
    // 所以用户可以把自己需要的事件注册一个回调函数,当事件触发时,则执行该函数
    lv_obj_add_event_cb(btn, 回调函数, 事件类型, 传递给事件的参数(一般为NULL)); // 给按钮对象添加回调函数

    // 注册焦点事件
    lv_obj_add_event_cb(pwd_ta, keyboard_show, LV_EVENT_FOCUSED, kb);
    lv_obj_add_event_cb(pwd_ta, keyboard_hide, LV_EVENT_DEFOCUSED, kb);

/*----------------------------------------------------------------------------------------------------------------------*/

至此,希望看完这篇文章的你有所收获,我是Bardb,译音八分贝,道友,下期见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bardb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值