LVGL7.0设置界面背景

                                                                 界面背景

1、界面纯色背景创建

创建背景纯色

LVGL7.0设置界面背景

void Home_Page_Create(void)

{

    lv_obj_t* bgk;

    bgk = lv_obj_create(lv_scr_act(), NULL);//创建对象

    lv_obj_clean_style_list(bgk, LV_OBJ_PART_MAIN); //清空对象风格

    lv_obj_set_style_local_bg_opa(bgk, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_100);//设置颜色覆盖度100%,数值越低,颜色越透。

    lv_obj_set_style_local_bg_color(bgk, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GREEN);//设置背景颜色为绿色

    //省去下方两行代码,默认是从0,0处开始绘制

    lv_obj_set_x(bgk, 0);//设置X轴起点

    lv_obj_set_y(bgk, 0);//设置Y轴起点

    lv_obj_set_size(bgk, 800, 40);//设置覆盖大小

}

2、如何让纯色背景动起来

这里我们用到了LVGL自带的任务函数lv_task_create()。

LVGL7.0设置界面背景

 

static void bgk_anim(lv_task_t* t)
{
	static uint32_t x = 0;
	lv_obj_t* bg = t->user_data;
	x = !x;
	lv_obj_set_style_local_bg_color(bg, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, x?LV_COLOR_RED: LV_COLOR_GREEN);//设置背景颜色为绿色
}
void Home_Page_Create(void)
{
	lv_obj_t* bgk;
	bgk = lv_obj_create(lv_scr_act(), NULL);//创建对象
	lv_obj_clean_style_list(bgk, LV_OBJ_PART_MAIN); //清空对象风格
	lv_obj_set_style_local_bg_opa(bgk, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_100);//设置颜色覆盖度100%,数值越低,颜色越透。
	lv_obj_set_style_local_bg_color(bgk, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GREEN);//设置背景颜色为绿色
	//省去下方两行代码,默认是从0,0处开始绘制
	lv_obj_set_x(bgk, 0);//设置X轴起点
	lv_obj_set_y(bgk, 0);//设置Y轴起点

	lv_obj_set_size(bgk, 800, 40);//设置覆盖大小
	lv_task_create(bgk_anim, 500, LV_TASK_PRIO_LOW, bgk);//创建任务 500ms一次
}

3、界面图片背景创建

想要美观的背景图可以试试哦!

LVGL7.0设置界面背景

void Home_Page_Create(void)
{
    lv_obj_t* bg_img;
	LV_IMG_DECLARE(picture); //声明图片
	bg_img = lv_img_create(lv_scr_act(), NULL);//创建一个图像对象
	lv_img_set_src(bg_img, &picture);//设置图片源
	lv_obj_align(bg_img, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);//对齐
}

4、在背景上创建一个按键

有了背景,不知道如何在背景上创建对象??

LVGL7.0设置界面背景

void Home_Page_Create(void)
{
	lv_obj_t* bg_img;
	LV_IMG_DECLARE(H_PIC_0); //声明图片
	LV_IMG_DECLARE(picture);
	bg_img = lv_img_create(lv_scr_act(), NULL); //创建一个图像对象
	lv_img_set_src(bg_img, &picture); //设置图片源
	lv_obj_align(bg_img, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0); //对齐
	static lv_style_t style;
	lv_style_init(&style);//对象风格初始化
	lv_style_set_image_recolor_opa(&style, LV_STATE_PRESSED, LV_OPA_30);//设置按下时的背景色深
	lv_style_set_image_recolor(&style, LV_STATE_PRESSED, LV_COLOR_GRAY);//设置按下时的背景色
	lv_obj_t* img1 = lv_imgbtn_create(lv_scr_act(), NULL);//创建图片按键
	lv_imgbtn_set_src(img1, LV_BTN_STATE_PRESSED, &H_PIC_0);//按下
	lv_imgbtn_set_src(img1, LV_BTN_STATE_RELEASED, &H_PIC_0);//抬起
	lv_obj_align(img1, NULL, LV_ALIGN_IN_TOP_LEFT, 30, 25);//左上角对齐
	lv_obj_add_style(img1, LV_IMGBTN_PART_MAIN, &style);
}

 

 

 

上一篇:linux 设置Swap分区操作


下一篇:Linux扩容分区操作过程