键盘部件(lv_keyboard)

键盘部件可用于输入文本内容,其本质上就是一个特殊的按钮矩阵。

键盘部件组成部分:

  1. 主体(LV_PART_MAIN)
  2. 按钮(LV_PART_ITEMS)

API函数

  1. 创建键盘部件
lv_obj_t  *kb = lv_keyboard_create(parent);
  1. 关联文本框
lv_obj_t *ta = lv_textarea_create(lv_scr_act());				/* 创建文本区域部件 */
lv_keyboard_set_textarea(kb, ta);						/* 关联键盘和文本区域部件 */
  1. 设置按键弹窗
lv_keyboard_set_popovers(kb, true);						/* 允许按键弹窗提示 */
  1. 设置键盘模式
lv_keyboard_set_mode(kb, LV_KEYBOARD_MODE_NUMBER);		/* 数字键盘模式 */

图片按钮部件(lv_imgbtn)

图片按钮部件类似于按钮部件,不同的是,用户可以在其中设置图片。

图片按钮部件组成部分:

  1. 主体(LV_PART_MAIN)

API函数

  1. 创建图片按钮部件
lv_obj_t  *imgbtn = lv_imgbtn_create(parent);
  1. 设置图片源、按钮大小
//使用前一定要声明图片源(全局)LV_IMG_DECLARE(img_bird);
//src_left/mid/right表示声明需要多少图片源?如果不需要参数填写NULL
lv_imgbtn_set_src(imgbtn, LV_IMGBTN_STATE_..., src_left, src_mid, src_right);		/* 设置某个状态的图片源 */
/*
LV_IMGBTN_STATE_...说明图片按钮在什么状态时候才起作用
enum {
    LV_IMGBTN_STATE_RELEASED,
    LV_IMGBTN_STATE_PRESSED,
    LV_IMGBTN_STATE_DISABLED,
    LV_IMGBTN_STATE_CHECKED_RELEASED,
    LV_IMGBTN_STATE_CHECKED_PRESSED,
    LV_IMGBTN_STATE_CHECKED_DISABLED,
    _LV_IMGBTN_STATE_NUM,
} lv_imgbtn_state_t;
*/
lv_obj_set_size(struct _lv_obj_t * obj, lv_coord_t w, lv_coord_t h);								/* 设置图片按钮大小 */
  1. 设置按钮状态
lv_imgbtn_set_state(imgbtn, LV_IMGBTN_STATE_PRESSED);				/* 设置按下状态 */

拓展知识点:如何显示带有透明度通道的图片?

  1. 准备一张带有透明度通道的图片
  2. 官方图片转换工具中,色彩格式选择:CF_TRUE_COLOR_ALPHA
  3. 声明图片并调用即可

选项卡部件(lv_tabview)

选项卡部件可以实现多页面切换,用户可以在不同的页面中添加内容。
img

选项卡部件组成部分:

  1. 主体(lv_obj)
  2. 按钮(lv_btnmatrix)

API函数

  1. 创建选项卡部件
    img
//LV_DIR_...设置的是选项卡按钮的位置,LV_DIR_TOP表示将选项卡按钮放在顶部
lv_obj_t  *tabview =  lv_tabview_create(parent, LV_DIR_..., tab_size);
  1. 添加选项卡
lv_obj_t *tab1 = lv_tabview_add_tab(tabview, "Tab 1"); 
lv_obj_t *tab2 = lv_tabview_add_tab(tabview, "Tab 2"); 
//!!!如果需要给选项卡添加信息,这需要使用其他部件完成,比如标签,此时选项卡就是标签的父对象,具体实现方法和效果需前往官网查看示例
  1. 设置当前选中的选项卡
//id:       索引号;
//anim_en:  是否开启动画
lv_tabview_set_act(lv_obj_t * obj, uint32_t id, lv_anim_enable_t anim_en); 					/* 索引从0开始 */