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