OpenEdv-开源电子网

 找回密码
 立即注册
查看: 2888|回复: 2

请问7.8.1怎么修改tabview的tab按钮的颜色

[复制链接]

16

主题

78

帖子

0

精华

高级会员

Rank: 4

积分
873
金钱
873
注册时间
2017-7-5
在线时间
130 小时
发表于 2021-1-16 16:06:39 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 Jochen 于 2021-1-16 16:17 编辑

请问7.8.1怎么单独修改tabview的tab按钮的颜色?
  1.   static lv_style_t tab_btn_style;
  2.   static lv_style_t tab_bg_style;
  3.   lv_style_init(&tab_btn_style);
  4.   lv_style_init(&tab_bg_style);
  5.   
  6.   lv_style_set_radius(&tab_btn_style, LV_STATE_DEFAULT, 10);

  7.   /*Add a border*/
  8.   lv_style_set_border_color(&tab_btn_style, LV_STATE_DEFAULT, LV_COLOR_SILVER);
  9.   lv_style_set_border_opa(&tab_btn_style, LV_STATE_DEFAULT, LV_OPA_70);
  10.   lv_style_set_border_width(&tab_btn_style, LV_STATE_DEFAULT, 1);
  11. //  /*Different border color in focused state*/
  12. //  lv_style_set_border_color(&tab_btn_style, LV_STATE_FOCUSED, LV_COLOR_BLUE);
  13.   
  14.   /*Set some paddings*/
  15.   lv_style_set_pad_top(&tab_btn_style, LV_STATE_DEFAULT, 5);
  16.   lv_style_set_pad_bottom(&tab_btn_style, LV_STATE_DEFAULT, 5);
  17.   
  18.   lv_style_set_pad_inner(&tab_bg_style, LV_STATE_DEFAULT, 5);
  19.   
  20.   /*Set background color*/
  21.   lv_style_set_bg_color(&tab_btn_style, LV_STATE_DEFAULT, LV_COLOR_BLACK);
  22.   lv_style_set_bg_grad_color(&tab_btn_style, LV_STATE_DEFAULT, LV_COLOR_BLUE);
  23.   
  24. //  lv_style_set_bg_grad_color(&tab_btn_style, LV_STATE_PRESSED, LV_COLOR_WHITE);
  25. //  lv_style_set_bg_grad_color(&tab_btn_style, LV_STATE_CHECKED, LV_COLOR_ORANGE);
  26.   
  27.   lv_style_set_bg_color(&tab_bg_style, LV_STATE_DEFAULT, LV_COLOR_WHITE);
  28.   lv_style_set_bg_grad_color(&tab_bg_style, LV_STATE_DEFAULT, LV_COLOR_WHITE);

  29.   /*Shift the gradient to the bottom*/
  30.   lv_style_set_bg_main_stop(&tab_bg_style, LV_STATE_DEFAULT, 128);
  31.   lv_style_set_bg_grad_stop(&tab_bg_style, LV_STATE_DEFAULT, 192);  

  32.         Windows.main_win = lv_tabview_create(parent,NULL);
  33. // LV_TABVIEW_PART_TAB_BG LV_TABVIEW_PART_BG  LV_TABVIEW_PART_BG_SCROLLABLE
  34. //  lv_obj_reset_style_list(Windows.main_win, LV_TABVIEW_PART_BG_SCROLLABLE);         /*Remove the styles coming from the theme*/
  35. //  lv_obj_reset_style_list(Windows.main_win, LV_TABVIEW_PART_TAB_BTN);         /*Remove the styles coming from the theme*/

  36. //  lv_obj_reset_style_list(Windows.main_win, LV_TABVIEW_PART_TAB_BG);         /*Remove the styles coming from the theme*/
  37. //  lv_obj_reset_style_list(Windows.main_win, LV_TABVIEW_PART_BG);         /*Remove the styles coming from the theme*/

  38.   lv_obj_add_style(Windows.main_win, LV_TABVIEW_PART_TAB_BTN, &tab_btn_style);
  39.   lv_obj_add_style(Windows.main_win, LV_TABVIEW_PART_TAB_BG, &tab_bg_style);
复制代码

默认主题用的 MATERIAL
设置边框线、边距和整个tab的背景颜色有效果,按钮的颜色没有效果,一直和整个TAB的背景颜色一样,请问有知道怎么单独设置的吗?


最佳答案

查看完整内容[请看2#楼]

果然是透明的 设置一下透明度为不透明就好了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

78

帖子

0

精华

高级会员

Rank: 4

积分
873
金钱
873
注册时间
2017-7-5
在线时间
130 小时
 楼主| 发表于 2021-1-16 16:06:40 | 显示全部楼层
果然是透明的
  1. lv_style_set_bg_opa(&tab_btn_style, LV_STATE_DEFAULT, LV_OPA_COVER);
复制代码

设置一下透明度为不透明就好了
回复

使用道具 举报

16

主题

78

帖子

0

精华

高级会员

Rank: 4

积分
873
金钱
873
注册时间
2017-7-5
在线时间
130 小时
 楼主| 发表于 2021-1-16 16:20:28 | 显示全部楼层
难道TAB里的子对象按钮都是透明的吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表