- 简单的按键矩阵实现
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函数,编译运行