天天看點

button matrix for little vGL簡單的按鍵矩陣實作

  • 簡單的按鍵矩陣實作

定義按鍵表,注意最後一個一定是空字元串

static const char* btnm_map[] = 
{
    "1","2","3","4","5","\n",
    "6","7","8","9","0","\n",
    LV_SYMBOL_OK,LV_SYMBOL_BACKSPACE,""
};
           

按鍵回調函數實作

static void event_handler_matrix(lv_obj_t* obj, lv_event_t event)
 {
    if (event == LV_EVENT_VALUE_CHANGED)
    {
        const char* txt = lv_btnm_get_active_btn_text(obj);
        printf("%s was pressed,id=%d\n", txt,lv_btnm_get_pressed_btn(obj));
    }
 }
           

生成矩陣按鍵

void button_matrix_demo(void) 
{
    lv_obj_t* btnm1 = lv_btnm_create(lv_scr_act(), NULL);
    lv_btnm_set_map(btnm1, btnm_map);
    lv_btnm_set_btn_width(btnm1, 10, 2);
    lv_obj_align(btnm1, NULL, LV_ALIGN_CENTER, 0, 0);
    lv_obj_set_event_cb(btnm1, event_handler_matrix);
}
           

在main函數調用button_matrix_demo函數,編譯運作

button matrix for little vGL簡單的按鍵矩陣實作