Local Styles

In addition to "normal" styles, Widgets can also store local styles. This concept is similar to inline styles in CSS (e.

Edit on GitHub

In addition to "normal" styles, Widgets can also store local styles, similar to inline styles in CSS (e.g. <div style="color:red">). Local styles can't be shared between Widgets; they are allocated automatically and freed when the Widget is deleted. Unlike CSS inline styles, they can be assigned to states (pseudo-classes) and parts (pseudo-elements).

To set a local property use functions like lv_obj_set_style_<property_name>(widget, <value>, <selector>); For example:

 
lv_obj_set_style_bg_color(slider, lv_color_red(), LV_PART_INDICATOR | LV_STATE_FOCUSED);

Binding Local Styles

By using lv_obj_bind_style_prop, it's possible to bind a style property to a Subject's value.

It's a great way to map every slider's color or opacity to a subject and control it externally.

For example:

 
lv_obj_bind_style_prop(slider1, LV_STYLE_BG_OPA, LV_PART_MAIN, subject_bg_opa);
lv_obj_bind_style_prop(slider1, LV_STYLE_BG_COLOR, LV_PART_INDICATOR, subject_bg_color);

Last updated on

On this page