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_dropdown_3.c (1498B)
1 #include "../../lv_examples.h" 2 #if LV_USE_DROPDOWN && LV_BUILD_EXAMPLES 3 4 static void event_cb(lv_event_t * e) 5 { 6 lv_obj_t * dropdown = lv_event_get_target(e); 7 char buf[64]; 8 lv_dropdown_get_selected_str(dropdown, buf, sizeof(buf)); 9 LV_LOG_USER("'%s' is selected", buf); 10 } 11 12 /** 13 * Create a menu from a drop-down list and show some drop-down list features and styling 14 */ 15 void lv_example_dropdown_3(void) 16 { 17 /*Create a drop down list*/ 18 lv_obj_t * dropdown = lv_dropdown_create(lv_scr_act()); 19 lv_obj_align(dropdown, LV_ALIGN_TOP_LEFT, 10, 10); 20 lv_dropdown_set_options(dropdown, "New project\n" 21 "New file\n" 22 "Save\n" 23 "Save as ...\n" 24 "Open project\n" 25 "Recent projects\n" 26 "Preferences\n" 27 "Exit"); 28 29 /*Set a fixed text to display on the button of the drop-down list*/ 30 lv_dropdown_set_text(dropdown, "Menu"); 31 32 /*Use a custom image as down icon and flip it when the list is opened*/ 33 LV_IMG_DECLARE(img_caret_down) 34 lv_dropdown_set_symbol(dropdown, &img_caret_down); 35 lv_obj_set_style_transform_angle(dropdown, 1800, LV_PART_INDICATOR | LV_STATE_CHECKED); 36 37 /*In a menu we don't need to show the last clicked item*/ 38 lv_dropdown_set_selected_highlight(dropdown, false); 39 40 lv_obj_add_event_cb(dropdown, event_cb, LV_EVENT_VALUE_CHANGED, NULL); 41 } 42 43 #endif