在LVGL屏幕里,默认是白色的, 当我们要更改他的屏幕颜色时,可以这样操作:
lv_obj_t* one = lv_obj_create(NULL, NULL); //在默认屏上创建obj对象 lv_obj_set_size(one, LV_HOR_RES, LV_VER_RES); // 设置到屏幕大小 lv_obj_set_style_local_bg_color(one, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLUE); // obj背景色设成黄色 //lv_scr_load_anim(one, LV_SCR_LOAD_ANIM_NONE, 5, 10000, true); lv_scr_load(one); lv_obj_t* two = lv_obj_create(NULL, NULL); // 创建新屏幕但未加载到显示 lv_obj_set_size(two, LV_HOR_RES, LV_VER_RES); //设置到屏幕大小 lv_obj_set_style_local_bg_color(two, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE); // 背影色设成蓝色 lv_scr_load_anim(two, LV_SCR_LOAD_ANIM_OVER_LEFT, 7000, 5000, true);
屏幕是特殊对象,lv_obj_t* one = lv_obj_create( lv_scr_act(), NULL);可以不用lv_scr_act()获取活动的屏幕,直接用NULL就好。
lv_scr_load(one)是直接加载屏幕; two的lv_scr_load_anim(xxxxxx)是动画加载,对于SWM32S芯片来讲,整屏操作
真是太慢了,拉窗联感觉强憨呀,以后再想办法优化。。。。
上图看它的工作过程:
蓝色是直接加载的,橘黄色是动画加载了,我设的参数比较慢。
时间:2021-05-26
我们可以通过lv_obj_set_size设置屏幕块的大小,通过测试发现lv_obj_set_x这个设置是没用的,跟本不能调整位置作用。
lv_obj_t* two3 = lv_obj_create(lv_scr_act(), NULL); // 创建新屏幕但未加载到显示 lv_obj_set_x(two3, 200);//设置X轴起点 lv_obj_set_y(two3, 200);//设置Y轴起点 lv_obj_set_size(two3, LV_HOR_RES, LV_VER_RES/6); //设置到屏幕大小
------》问题解决了,因为帮定父对像,所以子对像不能再单独更改位置了
时间:2021-05-28
LVGL的定时刷新系统,其文件为lv_refr.h lv_refr.c;定时刷新是LVGL的子系统,自身刷新自身的功能项,
源码和网上,了解很多信息,也没找到用户如何实现的方法,这方面的案例基本为0,还了解到LVGL没有动态绘制
曲线的控件,我也是无语了!!
-----------》问题解决了, 这个绘制曲线可以用lv_chart.c lv_chart.h这个小部件实现,有个小测试请阅读
contiki ng与LVGL图形库之chart图表功能 ,会对CHART图表有所启发,。。