acid-drop- Hacking the planet from a LilyGo T-Deck using custom firmware |
git clone git://git.acid.vegas/acid-drop.git |
Log | Files | Refs | Archive | README | LICENSE |
lv_example_gridnav_4.c (1437B)
1 #include "../../lv_examples.h" 2 #if LV_USE_GRIDNAV && LV_USE_FLEX && LV_BUILD_EXAMPLES 3 4 5 static void event_handler(lv_event_t * e) 6 { 7 lv_obj_t * obj = lv_event_get_target(e); 8 lv_obj_t * list = lv_obj_get_parent(obj); 9 LV_LOG_USER("Clicked: %s", lv_list_get_btn_text(list, obj)); 10 } 11 12 /** 13 * Simple navigation on a list widget 14 */ 15 void lv_example_gridnav_4(void) 16 { 17 /*It's assumed that the default group is set and 18 *there is a keyboard indev*/ 19 20 lv_obj_t * list = lv_list_create(lv_scr_act()); 21 lv_gridnav_add(list, LV_GRIDNAV_CTRL_ROLLOVER); 22 lv_obj_align(list, LV_ALIGN_LEFT_MID, 0, 10); 23 lv_group_add_obj(lv_group_get_default(), list); 24 25 uint32_t i; 26 for(i = 0; i < 20; i++) { 27 char buf[32]; 28 29 /*Add some separators too, they are not focusable by gridnav*/ 30 if((i % 5) == 0) { 31 lv_snprintf(buf, sizeof(buf), "Section %d", i / 5 + 1); 32 lv_list_add_text(list, buf); 33 } 34 35 lv_snprintf(buf, sizeof(buf), "File %d", i + 1); 36 lv_obj_t * item = lv_list_add_btn(list, LV_SYMBOL_FILE, buf); 37 lv_obj_add_event_cb(item, event_handler, LV_EVENT_CLICKED, NULL); 38 lv_group_remove_obj(item); /*The default group adds it automatically*/ 39 } 40 41 lv_obj_t * btn = lv_btn_create(lv_scr_act()); 42 lv_obj_align(btn, LV_ALIGN_RIGHT_MID, 0, -10); 43 lv_obj_t * label = lv_label_create(btn); 44 lv_label_set_text(label, "Button"); 45 } 46 47 #endif