lv_example_scroll_3.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. class ScrollExample_3():
  2. def __init__(self):
  3. self.btn_cnt = 1
  4. #
  5. # Create a list with a floating button
  6. #
  7. list = lv.list(lv.scr_act())
  8. list.set_size(280, 220)
  9. list.center()
  10. for btn_cnt in range(2):
  11. list.add_btn(lv.SYMBOL.AUDIO,"Track {:d}".format(btn_cnt))
  12. float_btn = lv.btn(list)
  13. float_btn.set_size(50, 50)
  14. float_btn.add_flag(lv.obj.FLAG.FLOATING)
  15. float_btn.align(lv.ALIGN.BOTTOM_RIGHT, 0, -list.get_style_pad_right(lv.PART.MAIN))
  16. float_btn.add_event_cb(lambda evt: self.float_btn_event_cb(evt,list), lv.EVENT.ALL, None)
  17. float_btn.set_style_radius(lv.RADIUS.CIRCLE, 0)
  18. float_btn.set_style_bg_img_src(lv.SYMBOL.PLUS, 0)
  19. float_btn.set_style_text_font(lv.theme_get_font_large(float_btn), 0)
  20. def float_btn_event_cb(self,e,list):
  21. code = e.get_code()
  22. float_btn = e.get_target()
  23. if code == lv.EVENT.CLICKED:
  24. list_btn = list.add_btn(lv.SYMBOL.AUDIO, "Track {:d}".format(self.btn_cnt))
  25. self.btn_cnt += 1
  26. float_btn.move_foreground()
  27. list_btn.scroll_to_view(lv.ANIM.ON)
  28. scroll_example_3 = ScrollExample_3()