这是用了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 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
- ¥100 求采集电商背景音乐的方法
- ¥15 数学建模竞赛求指导帮助