spinbox_demo.lua 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. local spinbox_demo = {}
  2. local spinbox
  3. local function lv_spinbox_increment_event_cb(btn, e)
  4. if(e == lvgl.EVENT_SHORT_CLICKED or e == lvgl.EVENT_LONG_PRESSED_REPEAT) then
  5. lvgl.spinbox_increment(spinbox);
  6. end
  7. end
  8. local function lv_spinbox_decrement_event_cb(btn, e)
  9. if(e == lvgl.EVENT_SHORT_CLICKED or e == lvgl.EVENT_LONG_PRESSED_REPEAT) then
  10. lvgl.spinbox_decrement(spinbox);
  11. end
  12. end
  13. function spinbox_demo.demo()
  14. spinbox = lvgl.spinbox_create(lvgl.scr_act(), nil);
  15. lvgl.spinbox_set_range(spinbox, -1000, 90000);
  16. lvgl.spinbox_set_digit_format(spinbox, 5, 2);
  17. lvgl.spinbox_step_prev(spinbox);
  18. lvgl.obj_set_width(spinbox, 100);
  19. lvgl.obj_align(spinbox, nil, lvgl.ALIGN_CENTER, 0, 0);
  20. local h = lvgl.obj_get_height(spinbox);
  21. local btn = lvgl.btn_create(lvgl.scr_act(), nil);
  22. lvgl.obj_set_size(btn, h, h);
  23. lvgl.obj_align(btn, spinbox, lvgl.ALIGN_OUT_RIGHT_MID, 5, 0);
  24. lvgl.theme_apply(btn, lvgl.THEME_SPINBOX_BTN);
  25. lvgl.obj_set_style_local_value_str(btn, lvgl.BTN_PART_MAIN, lvgl.STATE_DEFAULT, LV_SYMBOL_PLUS);
  26. lvgl.obj_set_event_cb(btn, lv_spinbox_increment_event_cb);
  27. btn = lvgl.btn_create(lvgl.scr_act(), btn);
  28. lvgl.obj_align(btn, spinbox, lvgl.ALIGN_OUT_LEFT_MID, -5, 0);
  29. lvgl.obj_set_event_cb(btn, lv_spinbox_decrement_event_cb);
  30. lvgl.obj_set_style_local_value_str(btn, lvgl.BTN_PART_MAIN, lvgl.STATE_DEFAULT, LV_SYMBOL_MINUS);
  31. end
  32. return spinbox_demo