LVGL,灵活调整Tabview标签位置

LVGL,灵活调整Tabview标签位置

有时在使用LVGL的Tabview时,不想标签平铺,就像图里面的“智能照明”和“智能开关”这两个标签,希望能靠近左侧,后侧想放些按钮的组件,这时应该怎么来设置呢,操作起来也很简单,直接上代码吧:

static lv_obj_t* tv;

static lv_obj_t* tv_light;

static lv_obj_t* tv_switch;

tv = lv_tabview_create(parent, LV_DIR_TOP, LV_DPI_DEF / 3);

lv_obj_set_pos(tv, HOME_PAD_LEFT, HOME_MENU_HEIGHT + MENU_TV_DISTANCE);

lv_obj_set_size(tv, HOME_TV_WIDTH, LV_VER_RES - HOME_MENU_HEIGHT - MENU_TV_DISTANCE);

tv_light = lv_tabview_add_tab(tv, "智能照明");

tv_switch = lv_tabview_add_tab(tv, "智能开关");

lv_obj_set_style_bg_color(tv, lv_color_make(0x00, 0x00, 0x00), 0);

lv_obj_t* tab_btns = lv_tabview_get_tab_btns(tv);

lv_obj_set_size(tab_btns, lv_pct(100), TV_BTNS_HEIGHT);

//本地样式修改背景色

lv_obj_set_style_bg_color(tab_btns, lv_color_make(0x00, 0x00, 0x00), 0);

lv_obj_set_style_bg_color(tab_btns, lv_color_make(0x00, 0x00, 0x00), LV_PART_ITEMS | LV_STATE_CHECKED);

//本地样式修改透明度

lv_obj_set_style_bg_opa(tab_btns, LV_OPA_100, LV_PART_ITEMS | LV_STATE_CHECKED);

//修改选中时边框的颜色

lv_obj_set_style_border_color(tab_btns, lv_color_make(0x00, 0x00, 0x00), LV_PART_ITEMS | LV_STATE_CHECKED);

//修改选中时边框的颜色透明度

lv_obj_set_style_border_opa(tab_btns, LV_OPA_100, LV_PART_ITEMS | LV_STATE_CHECKED);

//本地样式修改选中时的文字颜色

lv_obj_set_style_text_color(tab_btns, lv_color_make(0xc2, 0xa2, 0x66), LV_PART_ITEMS | LV_STATE_CHECKED);

lv_obj_set_style_text_font(tab_btns, &lv_font_simsun_22, LV_PART_ITEMS | LV_STATE_CHECKED);

// //本地样式修改未选中时的文字颜色

lv_obj_set_style_text_color(tab_btns, lv_color_make(0xFF, 0xFF, 0xFF), 0);

lv_obj_set_style_text_font(tab_btns, &lv_font_simsun_18, 0);

// 设置标签位置

lv_obj_set_style_pad_right(tab_btns, LV_HOR_RES / 2, 0);

最重要的其实就是标红的这句了。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章