Problem with redrawing,Not all borders(not LV_BORDER_SIDE_FULL)

lv_style_set_border_side(&list_style, LV_STATE_DEFAULT, LV_BORDER_SIDE_RIGHT);

When the bottom layer has components displayed, the color will fade when redrawing,see blow:
image
image
image

void init_list_style(void)
{
    lv_style_init(&list_style);

    lv_style_set_bg_color(&list_style, LV_STATE_FOCUSED, LV_COLOR_MAKE(128, 128, 128));
    lv_style_set_bg_color(&list_style, LV_STATE_DEFAULT, LV_COLOR_MAKE(48, 48, 48));
    lv_style_set_bg_opa(&list_style, LV_STATE_DEFAULT, LV_OPA_70);
#if 1
    lv_style_set_border_width(&list_style, LV_STATE_DEFAULT, 14);
    **lv_style_set_border_side(&list_style, LV_STATE_DEFAULT, LV_BORDER_SIDE_RIGHT);**
    lv_style_set_border_opa(&list_style, LV_STATE_DEFAULT, LV_OPA_COVER);
    lv_style_set_border_color(&list_style, LV_STATE_DEFAULT, LV_COLOR_MAKE(32, 32, 32));
    lv_style_set_border_color(&list_style, LV_STATE_FOCUSED, LV_COLOR_MAKE(64, 64, 64));
#endif
    lv_style_set_value_font(&list_style, LV_STATE_DEFAULT, &arial_bd_20);
    lv_style_set_value_opa(&list_style, LV_STATE_DEFAULT, LV_OPA_TRANSP);
    lv_style_set_value_opa(&list_style, LV_STATE_CHECKED, LV_OPA_COVER);
    lv_style_set_value_color(&list_style, LV_STATE_DEFAULT, LV_COLOR_YELLOW);
    lv_style_set_value_align(&list_style, LV_STATE_DEFAULT, LV_ALIGN_IN_RIGHT_MID);
    lv_style_set_value_ofs_x(&list_style, LV_STATE_DEFAULT, -1);
    lv_style_set_value_str(&list_style, LV_STATE_DEFAULT, "●");
}
#endif

lv_obj_t * create_list(int16_t x, uint8_t index, uint8_t max, const lv_img_dsc_t *pImg[])
{
    #define ML_Y  192
    uint8_t config = menu_config[index];
    int16_t w = (max==4) ? (100) : (52);

    lv_obj_t * parent = lv_cont_create(lv_scr_act(), NULL);
    lv_obj_set_pos(parent, x, ML_Y - max * 32);
    lv_obj_set_size(parent, w, 32 * max);
    lv_obj_set_style_local_bg_opa(parent, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP);
    lv_cont_set_layout(parent, LV_LAYOUT_COLUMN_MID);
    //lv_cont_set_fit(parent, LV_FIT_TIGHT);

    lv_group_add_obj(kb_group, parent);
    lv_group_focus_obj(parent);
    lv_obj_set_event_cb(parent, list_sel_event_handler);

    for (uint8_t i = 0; i < max; i++)
    {
        lv_obj_t *obj_bgd1 = lv_obj_create(parent, NULL);
        lv_obj_set_size(obj_bgd1, w, 32);
        lv_obj_add_style(obj_bgd1, LV_OBJ_PART_MAIN, &list_style);
        lv_obj_set_user_data(obj_bgd1, &index_tb[i]);
        if (config & 0x80)
        {
            if (config & (1 << i))
                obj_bgd1->state = LV_STATE_CHECKED;
            if (i==0)
            {
                obj_bgd1->state |= LV_STATE_FOCUSED;
                obj_list_focus = obj_bgd1;
            }
        }
        else if (i == config)
        {
            obj_bgd1->state = LV_STATE_FOCUSED | LV_STATE_CHECKED;
            obj_list_focus = obj_bgd1;
        }
        if(pImg == NULL)
        {
            lv_obj_t *label = lv_label_create(obj_bgd1, NULL);
            lv_obj_set_style_local_text_font(label, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, &arial_bd_14);
            lv_label_set_text_fmt(label, "%d%%", 25*i);
            lv_obj_align(label, NULL, LV_ALIGN_CENTER, -7, 0); //Must be put behind
        }
        else
        {
            lv_obj_t * img1 = lv_img_create(obj_bgd1, NULL);
            lv_img_set_src(img1, pImg[i]);
            lv_obj_align(img1, NULL, LV_ALIGN_CENTER, -7, 0); //Must be put behind
        }
    }

    menu_index = index;

    return parent;
}

Do you have 2 frame buffer or the “bottom layer” means a layer in LVGL?

How do you mean fade? From the image I can’t see what the issue really is. :frowning:

fade: image

normal:image

one framebuffer,but The following controls will move in full screen in real time image

When image and image overlap,then move away,there will be color loss,like this image

There was an issue with screen redraw when images are moved. Please try with the latest version.

If it’s still not working please send a minimal code to reproduce the issue.