木子剑
生命不熄,学习不止!

在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图表有所启发,。。                                                                                                                                                                                 

 

posted on 2021-05-23 23:32  木子剑  阅读(2489)  评论(0编辑  收藏  举报