每个对象有以下几个部分,可以分别给每个部分进行样式处理,也可以给对象的状态添加样式,详见上一篇文章

• LV_PART_MAIN A background like rectangle*/
• LV_PART_SCROLLBAR The scrollbar(s)
• LV_PART_INDICATOR Indicator, e.g. for slider, bar, switch, or the tick box of the checkbox
• LV_PART_KNOB Like a handle to grab to adjust a value
• LV_PART_SELECTED Indicate the currently selected option or section
• LV_PART_ITEMS Used if the widget has multiple similar elements (e.g. table cells)
• LV_PART_TICKS Ticks on scales e.g. for a chart or meter
• LV_PART_CURSOR Mark a specific place e.g. text area's or chart's cursor
• LV_PART_CUSTOM_FIRST Custom part identifiers can be added starting from here.

将样式添加到对象

lv_obj_add_style(btn2, &style, LV_PART_MAIN);//添加背景颜色

lv_obj_add_style(btn2, &style_pressed, LV_STATE_PRESSED);//添加按压时样式

 设置样式

Property set functions looks like this:

lv_style_set_<property_name>(&style, <value>);

For example:

lv_style_set_bg_color(&style_btn, LV_COLOR_BLUE);

    //实现一个按钮按压与释放时不同的颜色变化
    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_bg_color(&style, LV_COLOR_GREEN);

    static lv_style_t style_pressed;
    lv_style_init(&style_pressed);
    lv_style_set_bg_color(&style_pressed, LV_COLOR_BLUE);

    lv_obj_t * btn2 = lv_btn_create(lv_scr_act());
    lv_obj_align(btn2, LV_ALIGN_CENTER, 0, 40);
    lv_obj_add_style(btn2, &style, LV_PART_MAIN);//添加背景颜色
    lv_obj_add_style(btn2, &style_pressed, LV_STATE_PRESSED);;//添加按压时样式

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐