研究源码我们知道,lvgl的文本区域显示光标本质上是绘制了一个矩形.
但是当前我遇到的问题是:
lvgl版本:v9.0
背景:
我现在需要把文本框的设置为深色,此时,默认的光标显示很不清晰.
尝试:
1 设置光标背景色和背景透明度(bg_color和bg_opa)后,光标变得很粗,而且闪烁时会覆盖整个字符区域:
2 设置背景纯透明,只设置光标的边框颜色,也是生效到整个字符区域,并且选中时会恢复默认的颜色:
请问大佬们应该如何设置光标颜色为白色,同时不影响其覆盖区域
研究源码我们知道,lvgl的文本区域显示光标本质上是绘制了一个矩形.
但是当前我遇到的问题是:
lvgl版本:v9.0
背景:
我现在需要把文本框的设置为深色,此时,默认的光标显示很不清晰.
尝试:
1 设置光标背景色和背景透明度(bg_color和bg_opa)后,光标变得很粗,而且闪烁时会覆盖整个字符区域:
2 设置背景纯透明,只设置光标的边框颜色,也是生效到整个字符区域,并且选中时会恢复默认的颜色:
请问大佬们应该如何设置光标颜色为白色,同时不影响其覆盖区域
lv_obj_set_style_border_color(textarea, lv_color_white(), LV_PART_CURSOR);
lv_obj_set_style_border_width(textarea, 2, LV_PART_CURSOR);
lv_obj_set_style_bg_opa(textarea, LV_OPA_TRANSP, LV_PART_CURSOR);
这个要加在聚焦模式,第三个参数后面或上LV_STATE_FOCUSED
改动有效.多谢多谢.
原来是设置到聚焦模式