How to refresh specific area not total screen

Description

when i create some obj on screen,i dont want to refresh the total screen,i want to refresh a specific area.
example:
screen(320240),i want to refresh (320220),because i dont want refresh the top of screen(320*20) ,it’s the status area to update battery and signal.
would you give some guidance?

when i switch to other page,i can clean the area(320*220)

would you want something like this?
title

you could do this things

void ui_create(void)
{
	ui_cont = lv_cont_create(lv_scr_act(), NULL);
       title_cont = lv_cont_create(ui_cont , NULL);
	title_panel_create(ui_cont );

      page_cont = lv_cont_create(ui_cont , NULL);
	page_panel_create(page_cont );
}


1 Like

Hello, how do you realize the up and down sliding of your screen? Can you give me a demo?

use lv_tileview

Thank you very much~~

i switch pages by keyboad,will refer to your sample

would you guide me how to refresh specific area when switch pages?

image
would you share sample to update battrery and signal ?

LVGL pretty much decides when to refresh objects for you. As long as the page and status bar are not overlapping, the status bar should only refresh if you update the data in one of its widgets.

would you share a sample to update status bar and page?

you just need update the status data in a task.

void title_create(void)
{
...
...
...
title_data_update_handle = lv_task_create(title_data_update_cb,100, LV_TASK_PRIO_LOW, NULL);
}
void title_data_update_cb(lv_task_t *task)
{
   lv_img_set_src(signal_img,&img_singal[sgnal_val]);
  lv_bar_set_value(bar_battery,  bat_val , LV_ANIM_OFF);
}

thanks a lot

would you give some guidance about page switch?when i switch pages,always refresh all screen.Maybe my code issue?
how do you switch pages?


I don’t konw how did you switch the pages,if show me your code ,mybe i could give you some advices.