这是用了lvgl中的滚筒roller控件,我想把中间那个蓝色的框去掉应该怎么做呢,更深一步还想在滑到中间位置时改变字体颜色与大小

这是用了lvgl中的滚筒roller控件,我想把中间那个蓝色的框去掉应该怎么做呢,更深一步还想在滑到中间位置时改变字体颜色与大小。

img

要去掉滚筒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控件中间的蓝色框并在滑到中间位置时改变字体颜色与大小,可以通过设置控件的样式和回调函数来实现。不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^