lv_example_anim_1.py 981 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. def anim_x_cb(label, v):
  2. label.set_x(v)
  3. def sw_event_cb(e,label):
  4. sw = e.get_target()
  5. if sw.has_state(lv.STATE.CHECKED):
  6. a = lv.anim_t()
  7. a.init()
  8. a.set_var(label)
  9. a.set_values(label.get_x(), 100)
  10. a.set_time(500)
  11. a.set_path_cb(lv.anim_t.path_overshoot)
  12. a.set_custom_exec_cb(lambda a,val: anim_x_cb(label,val))
  13. lv.anim_t.start(a)
  14. else:
  15. a = lv.anim_t()
  16. a.init()
  17. a.set_var(label)
  18. a.set_values(label.get_x(), -label.get_width())
  19. a.set_time(500)
  20. a.set_path_cb(lv.anim_t.path_ease_in)
  21. a.set_custom_exec_cb(lambda a,val: anim_x_cb(label,val))
  22. lv.anim_t.start(a)
  23. #
  24. # Start animation on an event
  25. #
  26. label = lv.label(lv.scr_act())
  27. label.set_text("Hello animations!")
  28. label.set_pos(100, 10)
  29. sw = lv.switch(lv.scr_act())
  30. sw.center()
  31. sw.add_state(lv.STATE.CHECKED)
  32. sw.add_event_cb(lambda e: sw_event_cb(e,label), lv.EVENT.VALUE_CHANGED, None)