LittlevGL-bar--4

  • 目的

     學習並實現一個類似於進度條的“棒”模型。

  • 功能和函數介紹

  1. 功能介紹

     bar在littlevGL中由兩部分組成,一個背景,一個是前面的指示跡象。用戶可以通過其顯示一個任務的執行進度。

     要實現一個bar,需要能夠創造它的對象,描述其在父類顯示的位置,它的尺寸大小,背景和指示跡象的風格,指示跡象滑動範圍,設定其值。同時它有個特殊的功能,即能夠配置爲動態按照指定的時間逐步增加顯示。

   

  1. 函數介紹

 1、bar創立

  lv_obj_t *lv_bar_create(lv_obj_t *par, constlv_obj_t *copy)

   功能:爲在父類中,創建一個bar變量,同時將copy對象的屬性拷貝到新創建bar中返回

   par:父類;

   copy: 被參考拷貝bar對象;

 

2、bar值和動態時間和獲取

  void lv_bar_set_value(lv_obj_t *bar, int16_t value, lv_anim_enable_tanim)//設置

   功能:配置bar的初始值value,或者當anim爲true時,當前值爲一個動態值,結合void lv_bar_set_anim_time(lv_obj_t *bar, uint16_t anim_time)函數使用,此函數設定動態時間,單位ms;

   bar:要操作的bar;

   value: 被設置的bar值;

   anim:如果爲true時,當前bar狀態隨着配置動態時間變化,如果是false,則爲value
int16_t lv_bar_get_value(constlv_obj_t *bar)//獲取

void lv_bar_set_anim_time(lv_obj_t *bar, uint16_t anim_time)//設置動態時間

uint16_t lv_bar_get_anim_time(lv_obj_t *bar)//獲取動態時間

 

3、bar 值的範圍設置和獲取

int16_t lv_bar_get_min_value(constlv_obj_t *bar)//獲取bar可滑動範圍的最小值

int16_t lv_bar_get_max_value(constlv_obj_t *bar)//獲取最大值

void lv_bar_set_range(lv_obj_t *bar, int16_t min, int16_t max)//配置範圍,當沒有配置時,默認爲0-100

 

4、bar 風格的設置和獲取

void lv_bar_set_style(lv_obj_t *bar, lv_bar_style_ttype, const lv_style_t *style)

cost  lv_style_t *lv_bar_get_style(constlv_obj_t *bar, lv_bar_style_ttype)
  •  設計流程和源碼

    設計一個動態的bar。則需要先創建bar對象,配置顯示位置,其大小和動態時間,使能動態功能,同時可以設置其style。

void DrawBar()
{
    //1. 創建bar
    lv_obj_t * bar1 = lv_bar_create(lv_scr_act(), NULL);

    //2. 設置當前bar外觀大小尺寸
    lv_obj_set_size(bar1, 200, 30);

    //3 .設置其在父類中爲中心對齊
    lv_obj_align(bar1, NULL, LV_ALIGN_CENTER, 0, 0);

    //4. 設置其爲1s變化一次
    lv_bar_set_anim_time(bar1, 1000);


    //5.設置其初始值爲100,並可動態變化
    lv_bar_set_value(bar1, 100, LV_ANIM_ON);

}

同前面一樣,在main函數調用此函數。

總結

    會出現一個類似進度條的bar。

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章