From: p15692025051 <846603105@qq.com> Date: Wed, 2 Aug 2023 07:07:44 +0000 (+0800) Subject: 一级菜单左右划优化 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=55abbad1edd2fb1a1bee5ef703e9fe82b141a052;p=mirrors%2FASR1603_G5.git 一级菜单左右划优化 --- diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py index 06e04cdc..a62ab27d 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py @@ -89,12 +89,14 @@ style_font_youyuan_font_60 = lv.style_t() style_font_youyuan_font_60.init() style_font_youyuan_font_60.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF)) style_font_youyuan_font_60.set_text_font(lv.font_60_main_menu) - +MainMenu2x = 0 +MainMenu2_num = 0 MainMenu2 = lv.obj() print("MainMenu2") MainMenu2_til = lv.tileview(MainMenu2) MainMenu2_til.set_scrollbar_mode(0) MainMenu2_til.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT) + #表盘 MainMenu2_Watchface = MainMenu2_til.add_tile(0, 1, lv.DIR.LEFT | lv.DIR.RIGHT) @@ -102,13 +104,14 @@ label_text = lv.label(MainMenu2_Watchface) label_text.set_pos(0, 240) label_text.set_size(0, 0) label_text.set_text("0") +MainMenu2_num+=1 #支付宝 -MainMenu2_alipay = MainMenu2_til.add_tile(0, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_alipay = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) #MainMenu2_alipay.set_tile_act(7,0,lv.ANIM.ON)#设置拼接 label_text = lv.label(MainMenu2_alipay) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("1") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_alipay_text = lv.label(MainMenu2_alipay) MainMenu2_img_alipay_text.set_pos(int(0),int(220)) MainMenu2_img_alipay_text.set_size(240,100) @@ -123,17 +126,18 @@ MainMenu2_img_alipay.set_pos(40,20) MainMenu2_img_alipay.set_src("U:/static/alipay_.png") MainMenu2_img_alipay.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_alipay.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT) - +MainMenu2_num+=1 +MainMenu2x+=1 # label_alipay.set_long_mode(lv.label.LONG.WRAP) # label_alipay.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) # label_alipay.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT) #拨号盘 -MainMenu2_phone = MainMenu2_til.add_tile(1, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_phone = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_phone) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("2") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_phone = lv.img(MainMenu2_phone) MainMenu2_img_phone.set_size(160,160) MainMenu2_img_phone.set_pos(40,20) @@ -148,14 +152,15 @@ MainMenu2_img_phone_text.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_phone_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_phone_text.set_text("拨号盘") MainMenu2_img_phone_text.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - +MainMenu2_num+=1 +MainMenu2x+=1 #通讯录 -MainMenu2_contacts = MainMenu2_til.add_tile(2, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_contacts = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_contacts) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("3") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_contacts = lv.img(MainMenu2_contacts) MainMenu2_img_contacts.set_size(160,160) MainMenu2_img_contacts.set_pos(40,20) @@ -170,13 +175,15 @@ MainMenu2_img_contacts_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_contacts_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_contacts_txt.set_text("联系人") MainMenu2_img_contacts_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) +MainMenu2_num+=1 +MainMenu2x+=1 #短信 -MainMenu2_SMS = MainMenu2_til.add_tile(3, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_SMS = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_SMS) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("4") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_sms = lv.img(MainMenu2_SMS) MainMenu2_img_sms.set_size(160,160) MainMenu2_img_sms.set_pos(40,20) @@ -191,13 +198,15 @@ MainMenu2_img_sms_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_sms_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_sms_txt.set_text("短信") MainMenu2_img_sms_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) +MainMenu2_num+=1 +MainMenu2x+=1 #微聊 -MainMenu2_wechat = MainMenu2_til.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_wechat = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_wechat) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("5") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_wechat = lv.img(MainMenu2_wechat) MainMenu2_img_wechat.set_size(160,160) MainMenu2_img_wechat.set_pos(40,20) @@ -212,13 +221,15 @@ MainMenu2_img_wechat_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_wechat_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_wechat_txt.set_text("微聊") MainMenu2_img_wechat_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) +MainMenu2_num+=1 +MainMenu2x+=1 -#心律检测 -MainMenu2_heartrate = MainMenu2_til.add_tile(5, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +#健康测量 +MainMenu2_heartrate = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_heartrate) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("6") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_health = lv.img(MainMenu2_heartrate) MainMenu2_img_health.set_size(160,160) MainMenu2_img_health.set_pos(40,20) @@ -233,8 +244,8 @@ MainMenu2_img_health_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_health_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_health_txt.set_text("健康测量") MainMenu2_img_health_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - +MainMenu2_num+=1 +MainMenu2x+=1 #血样检测 # MainMenu2_spo2 = MainMenu2_til.add_tile(4, 0, lv.DIR.LEFT | lv.DIR.RIGHT) # label_text = lv.label(MainMenu2_spo2) @@ -255,14 +266,15 @@ MainMenu2_img_health_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.S # MainMenu2_img_spo2_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) # MainMenu2_img_spo2_txt.set_text("血氧检测") # MainMenu2_img_spo2_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - +#MainMenu2_num+=1 +#MainMenu2x+=1 #工具箱 -MainMenu2_toolbox = MainMenu2_til.add_tile(6, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_toolbox = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) label_text = lv.label(MainMenu2_toolbox) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("7") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_toolbox = lv.img(MainMenu2_toolbox) MainMenu2_img_toolbox.set_size(160,160) MainMenu2_img_toolbox.set_pos(40,20) @@ -277,15 +289,16 @@ MainMenu2_img_toolbox_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_toolbox_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_toolbox_txt.set_text("工具箱") MainMenu2_img_toolbox_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - +MainMenu2_num+=1 +MainMenu2x+=1 #设置 -MainMenu2_setting = MainMenu2_til.add_tile(7, 0, lv.DIR.LEFT | lv.DIR.RIGHT) +MainMenu2_setting = MainMenu2_til.add_tile(MainMenu2x, 0, lv.DIR.LEFT | lv.DIR.RIGHT) #MainMenu2_setting.set_tile_act(0,0,lv.ANIM.ON) label_text = lv.label(MainMenu2_setting) label_text.set_pos(0, 240) label_text.set_size(0, 0) -label_text.set_text("8") +label_text.set_text("{}".format(MainMenu2_num)) MainMenu2_img_setting = lv.img(MainMenu2_setting) MainMenu2_img_setting.set_size(160,160) MainMenu2_img_setting.set_pos(40,20) @@ -300,8 +313,8 @@ MainMenu2_img_setting_txt.add_flag(lv.obj.FLAG.CLICKABLE) MainMenu2_img_setting_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) MainMenu2_img_setting_txt.set_text("设置") MainMenu2_img_setting_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT) - - +MainMenu2_num+=1 +MainMenu2x+=1 @@ -315,8 +328,12 @@ class MainMenuScreen(Screen): self.meta = MainMenu2 self.watchface = WatchFace() self.menu_id = "0" + self.menu_new_id = "255" + self.menu_old_id = "255" + self.scroll_begin_event_count = 0 + self.menu_action = 0 # =1左滑 =2右划 print("MainMenu1:__init__") - #MainMenu2_til.add_event_cb(lambda e: EventMesh.callback_wrapper(self.scroll_begin_event(e)),lv.EVENT.SCROLL_END,None) + MainMenu2_til.add_event_cb(lambda e: EventMesh.callback_wrapper(self.scroll_begin_event_cb(e)),lv.EVENT.SCROLL_END,None) #lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_END, NULL); MainMenu2_img_phone.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "Phone")), lv.EVENT.CLICKED, None) MainMenu2_img_toolbox.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "toolbox")), lv.EVENT.CLICKED, None) @@ -342,12 +359,34 @@ class MainMenuScreen(Screen): # MainMenu2_til.set_tile_id(self.meta_info[0],self.meta_info[1],lv.ANIM.OFF) pass# - def scroll_begin_event(self, e): - print("MainMenu2:scroll_begin_event!") - MainMenu = e.get_target() - code = e.get_code() - if code == lv.EVENT.SCROLL_END: - pass + def scroll_begin_event_cb(self, e): + # EventMesh.publish("publish_message_event_ui",{"func":self.scroll_begin_event,"data":0}) + # def scroll_begin_event(self, data): + #处理轻微滑动不跳页面问题 + self.scroll_begin_event_count+=1 + + if self.scroll_begin_event_count == 1: + self.menu_new_id = MainMenu2_til.get_tile_act().get_child(0).get_text() + #print("scroll_begin_event scroll_begin_event {} old_id {} new_id{}".format(self.scroll_begin_event_count,self.menu_old_id,self.menu_new_id)) + elif self.scroll_begin_event_count == 2: + self.menu_old_id = MainMenu2_til.get_tile_act().get_child(0).get_text() + print("scroll_begin_event menu_action {} old_id {} new_id {}".format(self.menu_action,self.menu_old_id,self.menu_new_id)) + self.scroll_begin_event_count = 0 + if self.menu_old_id == self.menu_new_id and self.menu_action == 1: + MainMenu2_til.set_tile_id(int(self.menu_old_id)-2,0,lv.ANIM.ON) + print("scroll_begin_event menu_action == 1") + elif self.menu_old_id == self.menu_new_id and self.menu_action == 2: + print("scroll_begin_event menu_action == 2") + MainMenu2_til.set_tile_id(int(self.menu_old_id),0,lv.ANIM.ON) + self.menu_action = 0 + else : + self.scroll_begin_event_count = 0 + + # MainMenu = e.get_target() + # code = e.get_code() + # print("MainMenu2:scroll_begin_event code {}!!!!!".format(code)) + # if code == lv.EVENT.SCROLL_END: + # pass def watch_top_show(self, event, msg): # MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF) @@ -418,19 +457,23 @@ class MainMenuScreen(Screen): self.menu_id = id def done_left_to_right(self): id = MainMenu2_til.get_tile_act().get_child(0).get_text() - print("done_left_to_right:ID{}".format(id)) + print("done_left_to_right:ID{} menu_id{}".format(id,self.menu_id)) if id == "0": - MainMenu2_til.set_tile_id(7,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(MainMenu2_num-2,0,lv.ANIM.OFF) elif self.menu_id != '2' and id == '1': - MainMenu2_til.set_tile_id(7,0,lv.ANIM.OFF) + MainMenu2_til.set_tile_id(MainMenu2_num-2,0,lv.ANIM.OFF) + elif self.menu_id == id : + self.menu_action = 1 self.menu_id = id def done_right_to_left(self): id = MainMenu2_til.get_tile_act().get_child(0).get_text() - print("done_right_to_left:ID{}".format(id)) + print("done_right_to_left:ID{} menu_id{}".format(id,self.menu_id)) if id == "0": MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) - elif (self.menu_id != '7' ) and id == '8': + elif (self.menu_id != str(MainMenu2_num-2) ) and id == str(MainMenu2_num-1) : MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF) + else : + self.menu_action = 2 self.menu_id = id def Close(self):