这是用了lvgl中的滚筒roller控件,我想把中间那个蓝色的框去掉应该怎么做呢,更深一步还想在滑到中间位置时改变字体颜色与大小。
这是用了lvgl中的滚筒roller控件,我想把中间那个蓝色的框去掉应该怎么做呢,更深一步还想在滑到中间位置时改变字体颜色与大小
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- JoseKe 2023-03-26 06:01关注要去掉滚筒roller控件中间的蓝色框,可以通过设置控件的样式来实现。具体步骤如下:
1. 找到滚筒roller控件的样式表,可以通过lv_style_t结构体来定义样式。
2. 在样式表中设置控件的背景颜色为透明,可以使用lv_style_set_bg_opa(style, LV_OPA_TRANSP)来实现。
3. 设置控件的边框颜色为透明,可以使用lv_style_set_border_opa(style, LV_OPA_TRANSP)来实现。
4. 设置控件的指示器颜色为透明,可以使用lv_style_set_indic_opa(style, LV_OPA_TRANSP)来实现。
5. 设置控件的选中状态颜色为透明,可以使用lv_style_set_sel_color(style, LV_COLOR_TRANSP)来实现。
6. 如果想要在滑到中间位置时改变字体颜色与大小,可以通过设置控件的回调函数来实现。具体步骤如下:
7. 找到滚筒roller控件的回调函数,可以使用lv_obj_set_event_cb(obj, event_cb)来设置回调函数。
8. 在回调函数中判断控件的状态,如果滑到中间位置,则改变字体颜色与大小。
9. 可以使用lv_obj_get_style_text_font(obj, LV_PART_SELECTED)来获取选中状态下的字体,使用lv_obj_set_style_text_font(obj, LV_PART_SELECTED, font)来设置选中状态下的字体。
10. 可以使用lv_obj_get_style_text_color(obj, LV_PART_SELECTED)来获取选中状态下的字体颜色,使用lv_obj_set_style_text_color(obj, LV_PART_SELECTED, color)来设置选中状态下的字体颜色。
综上所述,要去掉滚筒roller控件中间的蓝色框并在滑到中间位置时改变字体颜色与大小,可以通过设置控件的样式和回调函数来实现。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?