contiki ng與LVGL圖形庫之屏幕操作


在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圖表有所啟發,。。                                                                                                                                                                                 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM