ui死机问题处理
authorp15692025051 <846603105@qq.com>
Tue, 25 Apr 2023 08:13:44 +0000 (16:13 +0800)
committerp15692025051 <846603105@qq.com>
Tue, 25 Apr 2023 08:13:44 +0000 (16:13 +0800)
3.code/1.watch/2.code/appAlipay.py
3.code/1.watch/2.code/initTP.py
3.code/1.watch/2.code/lcd.py
3.code/1.watch/2.code/main.py
3.code/1.watch/2.code/main_1.py
3.code/1.watch/2.code/mgr.py
3.code/1.watch/2.code/protocol.py
3.code/1.watch/2.code/ui.py
3.code/1.watch/2.code/ui_WatchFaceScreen.py
3.code/1.watch/2.code/ui_main_menu.py
3.code/1.watch/2.code/ui_setting.py

index a090a93..5cef4d2 100644 (file)
@@ -56,7 +56,8 @@ class Alipay(Abstract):
         self.ps_aliyun = "TxPFIJ5F1kwa0zO3"
         self.product_type = 0
         self.timer_Alipay = osTimer()
-        self.alipay = None
+ 
+ 
         self.is_simcard_identify = 255
         self.is_init = 255
         self.upay_bound = 0 #绑定结果
@@ -64,33 +65,37 @@ class Alipay(Abstract):
         #self.alipay = ALIPAY("867387060319491", "898604293619F0549750","460044917509047", "123456", "P1Q22I80C0007530P","ZHIHUISHIXUN", "ZHIHUISHIXUN", "EC800M", "uHTfYqOlGlA" , "a15PcyZ3IHA", "kOGGPhtXAg1Lz1vg",0)
         self.alipay.register_print()
         self.alipay.set_log_limit(0)
-        self.timer_Alipay.start(10000, 1, self.timeout_Alipay)
+        if  self.is_init != 0:
+            id2_st = bytearray([0])
+            id2_ret = self.alipay.id2_init()
+            #print("id2_ret:%d"%id2_ret)
+            self.alipay.id2_check_status(id2_st)
+            #print("id2_st:",str(id2_st))
+            if id2_st[0] == 1:
+                self.is_init = self.alipay.pay_init(90000, 90000,\
+                                                    2000, 2000, \
+                                                    200, 40*1024, \
+                                                    self.upay_display_notify_cb, 0) 
+                #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0)                                    
+                print("self.is_pay_init:%d"%self.is_init)
+                if self.is_init == 0 :
+                    self.alipay.enable_collectioncode(1)
+        self.timer_Alipay.start(20000, 1, self.timeout_Alipay)
     def post_processor_after_instantiation(self):
+        print("post_processor_after_instantiation")
+        
+        
         
         EventMesh.subscribe("alipay_1", self.alipay_1)
-        EventMesh.subscribe("reset_alipay", self.reset_alipay)
         EventMesh.subscribe("get_payment_code", self.get_payment_code)
         EventMesh.subscribe("get_collect_code", self.get_collect_code)
         EventMesh.subscribe("get_parent_code", self.get_parent_code)
         EventMesh.subscribe("get_alipay_init", self.get_alipay_init)
-        if self.is_init != 0:
-            id2_st = bytearray([0])
-            id2_ret = self.alipay.id2_init()
-            print("id2_ret:%d"%id2_ret)
-            self.alipay.id2_check_status(id2_st)
-            print("id2_st:",str(id2_st))
-            
-            self.is_init = self.alipay.pay_init(90000, 90000,\
-                                                2000, 2000, \
-                                                200, 40*1024, \
-                                                self.upay_display_notify_cb, 0) 
-            #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0)                                    
-            print("self.is_pay_init:%d\n\n\n"%self.is_init)
-         
+        EventMesh.subscribe("alipay_exit", self.alipay_exit)
+        
     def timeout_Alipay(self, *args, **kwargs):
-        #print("timeout_Alipay1:counect:{} init:{}".format(EventMesh.publish(constants.EVENT.GET_CONNECT),self.is_init))
+        #print("timeout_Alipay1:{}".format(EventMesh.publish(constants.EVENT.GET_CONNECT)))
         time = utime.localtime()
-        
 
         if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and self.alipay != None and (self.is_simcard_identify != 0 or time[3] == 0 or time[3] == 12):
         #if self.alipay != None and (self.is_simcard_identify != 0 or time[3] == 0 or time[3] == 12):
@@ -98,22 +103,23 @@ class Alipay(Abstract):
             print("is_simcard_identify:%d"%self.is_simcard_identify)
         
         #if self.is_simcard_identify == 0 and EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and self.is_init != 0:
-        if self.is_init != 0:
+        if  self.is_init != 0:
             id2_st = bytearray([0])
             id2_ret = self.alipay.id2_init()
-            print("id2_ret:%d"%id2_ret)
+            #print("id2_ret:%d"%id2_ret)
             self.alipay.id2_check_status(id2_st)
-            print("id2_st:",str(id2_st))
-               
-            self.is_init = self.alipay.pay_init(90000, 90000,\
-                                                2000, 2000, \
-                                                200, 40*1024, \
-                                                self.upay_display_notify_cb, 0) 
-            #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0)                                    
-            print("self.is_pay_init:%d\n\n\n"%self.is_init)
-            if self.is_init == 0 :
-                self.alipay.enable_collectioncode(1)
-        
+            #print("id2_st:",str(id2_st))
+            if id2_st[0] == 1:
+                self.is_init = self.alipay.pay_init(90000, 90000,\
+                                                    2000, 2000, \
+                                                    200, 40*1024, \
+                                                    self.upay_display_notify_cb, 0) 
+                #alipay.pay_init(90000, 90000,2000, 2000,200, 40*1024,upay_display_notify_cb, 0)                                    
+                
+                if self.is_init == 0 :
+                    self.alipay.enable_collectioncode(1)
+            print("self.is_pay_init:%d"%self.is_init)
+
     def upay_display_notify_cb(self,arg):
         #print("upay_display_notify_cb!!!!!!!!!!!!!!!!!!!!")
         cmd = arg[0]
@@ -255,13 +261,7 @@ class Alipay(Abstract):
         elif rsp_code == 44:
            # 服务端已解绑 
             print("upay_display_notify_cb: not bind !\n")
-
-
-
-    def reset_alipay(self, event, msg):
-        print("reset_alipay")
-        self.alipay.hw_factory_reset()
-    
+       
     def get_binding_code(self, event, msg):
         return self.result
 
@@ -282,18 +282,21 @@ class Alipay(Abstract):
             args = ""
             userdata = ""
             ret = self.alipay.msg_send(8,args,userdata)
-
     def get_alipay_init(self, event, msg):
         return self.is_init
-
+    
+    def alipay_exit(self, event, msg):
+        if self.is_init == 0 :   
+            args = ""
+            userdata = ""
+            ret = self.alipay.msg_send(11,args,userdata) #发送退出程序命令
+            print("alipay_exit")
+    
     def alipay_1(self, event, msg):
-
-        
         #本地判断是否绑定
         check_bind = self.alipay.check_bind_status()
         check_bind_online = self.alipay.check_bind_status()
         print("check_bind:{} check_bind_online:{}".format(check_bind,check_bind_online))
-        
         if check_bind == 4: #已绑定
            EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
             # if self.is_init == 0 : 
@@ -302,14 +305,17 @@ class Alipay(Abstract):
                 # ret = self.alipay.msg_send(3,args,userdata) #发送获取付款码消息
                 # ret = self.alipay.msg_send(5,args,userdata) #发送获取收款码消息
         elif check_bind == 5: #未绑定
-            args = ""
-            userdata = ""
-            # print("--000--")
-            ret = self.alipay.msg_send(1,args,userdata) #发送获取绑定码消息,在回调函数里打开界面
-            print("alipay_1 send msg:HELIOS_PAY_MSG_GET_BIND_CODE:{}".format(ret))
+            #EventMesh.publish("load_screen", {"screen": "alipay_invite"})
+            if self.is_init == 0 :   
+                args = ""
+                userdata = ""
+                print("--000--")
+                ret = self.alipay.msg_send(1,args,userdata) #发送获取绑定码消息
+                print("alipay_1 send msg:HELIOS_PAY_MSG_GET_BIND_CODE:{}".format(ret))
         else :
             print("check bind error!!!")
 
+
 style_alipay_screen_default = lv.style_t()
 style_alipay_screen_default.init()
 style_alipay_screen_default.set_radius(0)
@@ -327,52 +333,47 @@ style_alipay_img_default.set_img_opa(255)
 style_alipay_img_default.set_img_recolor_opa(0)
 style_alipay_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
 
+alipay_open_screen = lv.obj()
+alipay_open_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_open_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#进入图片
+AlipayOpen_img = lv.img(alipay_open_screen)
+AlipayOpen_img.set_pos(int(70),int(80))
+AlipayOpen_img.set_size(100,100)
+AlipayOpen_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+AlipayOpen_img.add_flag(lv.obj.FLAG.CLICKABLE)
+AlipayOpen_img.set_src("E:/static/APP/alipay/1.jpg")
+AlipayOpen_img.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
 class AlipayOpenScreen(Screen):
     NAME = "alipay_open"
     #打开支付宝
     def __init__(self):
         super().__init__()
-        self.meta = None
-        self.timer_alipay_open = osTimer()
+        self.meta = alipay_open_screen
+        self.timer_AlipayOpen = osTimer()
 
     def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #进入图片
-            self.watchface_mpsignal_img = lv.img(self.meta)
-            self.watchface_mpsignal_img.set_pos(int(70),int(80))
-            self.watchface_mpsignal_img.set_size(100,100)
-            self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.watchface_mpsignal_img.set_src("E:/static/APP/alipay/1.jpg")
-            self.watchface_mpsignal_img.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-   
-    def post_processor_after_initialization(self):
-        print("----init----")
-        self.timer_alipay_open.start(1000, 1, self.timeout_alipay_open)
-        # for i in range(120):
-        #     if EventMesh.publish("get_alipay_init") == 1:
-        #         
-        #         break 
-        #     utime.sleep_ms(500)
-        
-    def timeout_alipay_open(self, *args, **kwargs):
+        print("AlipayOpenScreen:initialization")
+        self.timer_AlipayOpen.start(1000, 1, self.timeout_AlipayOpen)
+        pass
+
+    def timeout_AlipayOpen(self, *args, **kwargs):
         if EventMesh.publish("get_alipay_init") == 0:
             EventMesh.publish("alipay_1")
-            self.timer_alipay_open.stop()
+            self.timer_AlipayOpen.stop()
 
+    def post_processor_after_initialization(self):
+        pass
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def Close(self):
-        self.timer_alipay_open.stop()
-        self.meta.delete()
-        self.meta = None
+        self.timer_AlipayOpen.stop()
+        EventMesh.publish("alipay_exit")
+
+        pass
         
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -380,66 +381,60 @@ class AlipayOpenScreen(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_1_1_screen = lv.obj()
+alipay_1_1_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_1_1_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+#付款码
+alipay_imgbtn_3 = lv.img(alipay_1_1_screen)
+alipay_imgbtn_3.set_pos(8,10)
+alipay_imgbtn_3.set_size(224,69)
+alipay_imgbtn_3.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+alipay_imgbtn_3.add_flag(lv.obj.FLAG.CLICKABLE)
+alipay_imgbtn_3.set_src("E:/static/APP/alipay/1_13.png")
+alipay_imgbtn_3.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+#收钱
+alipay_imgbtn_2 = lv.img(alipay_1_1_screen)
+alipay_imgbtn_2.set_pos(8,86)
+alipay_imgbtn_2.set_size(224,69)
+alipay_imgbtn_2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+alipay_imgbtn_2.add_flag(lv.obj.FLAG.CLICKABLE)
+alipay_imgbtn_2.set_src("E:/static/APP/alipay/1_12.png")
+alipay_imgbtn_2.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+#家长设置
+alipay_imgbtn_1 = lv.img(alipay_1_1_screen)
+alipay_imgbtn_1.set_pos(8,168)
+alipay_imgbtn_1.set_size(224,69)
+alipay_imgbtn_1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+alipay_imgbtn_1.add_flag(lv.obj.FLAG.CLICKABLE)
+alipay_imgbtn_1.set_src("E:/static/APP/alipay/1_11.png")
+alipay_imgbtn_1.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
 class Alipay_1_1(Screen):
     NAME = "alipay_1_1"
     #已绑定,显示功能列表
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = alipay_1_1_screen
+        #付款码
+        alipay_imgbtn_3.add_event_cb(lambda e: self.alipay_paycode(e),
+                                     lv.EVENT.PRESSED, None)
+        #收钱
+        alipay_imgbtn_2.add_event_cb(lambda e: self.alipay_collect(e),
+                                     lv.EVENT.PRESSED, None) 
+        #家长设置
+        alipay_imgbtn_1.add_event_cb(lambda e: self.alipay_parent(e),
+                                     lv.EVENT.PRESSED, None)
        
-
     def initialization(self):
-        if self.meta == None : 
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #付款码
-            self.alipay_imgbtn_3 = lv.img(self.meta)
-            self.alipay_imgbtn_3.set_pos(8,10)
-            self.alipay_imgbtn_3.set_size(224,69)
-            self.alipay_imgbtn_3.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.alipay_imgbtn_3.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.alipay_imgbtn_3.set_src("E:/static/APP/alipay/1_13.png")
-            self.alipay_imgbtn_3.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-            self.alipay_imgbtn_3.add_event_cb(lambda e: self.alipay_paycode(e),
-                                        lv.EVENT.PRESSED, None)
-
-
-            #收钱
-            self.alipay_imgbtn_2 = lv.img(self.meta)
-            self.alipay_imgbtn_2.set_pos(8,86)
-            self.alipay_imgbtn_2.set_size(224,69)
-            self.alipay_imgbtn_2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.alipay_imgbtn_2.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.alipay_imgbtn_2.set_src("E:/static/APP/alipay/1_12.png")
-            self.alipay_imgbtn_2.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-            self.alipay_imgbtn_2.add_event_cb(lambda e: self.alipay_collect(e),
-                                        lv.EVENT.PRESSED, None)
-            
-
-            #家长设置
-            self.alipay_imgbtn_1 = lv.img(self.meta)
-            self.alipay_imgbtn_1.set_pos(8,168)
-            self.alipay_imgbtn_1.set_size(224,69)
-            self.alipay_imgbtn_1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.alipay_imgbtn_1.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.alipay_imgbtn_1.set_src("E:/static/APP/alipay/1_11.png")
-            self.alipay_imgbtn_1.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-            self.alipay_imgbtn_1.add_event_cb(lambda e: self.alipay_parent(e),
-                                        lv.EVENT.PRESSED, None)
-   
-    def post_processor_after_initialization(self):
         pass
     
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
         
     def alipay_paycode(self,e):
         # Alipay.alipay.msg_send(3,"","") #发送获取付款码消息
-
         EventMesh.publish("get_payment_code")
 
     def alipay_collect(self,e):
@@ -458,61 +453,58 @@ class Alipay_1_1(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_invite_screen = lv.obj()
+alipay_invite_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_invite_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#背景
+alipay_invite_bg = lv.img(alipay_invite_screen)
+alipay_invite_bg.center()
+alipay_invite_bg.set_size(240,240)
+alipay_invite_bg.set_src("E:/static/APP/alipay/1_2.jpg")
+alipay_invite_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#提示词
+alipay_invite_label = lv.label(alipay_invite_bg)
+alipay_invite_label.set_pos(6, 8)
+alipay_invite_label.set_size(228, 48)
+alipay_invite_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_invite_label.set_text("请家长用手机支付宝扫一扫")
+alipay_invite_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_invite_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+#二维码
+alipay_invite_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
+alipay_invite_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
+
+alipay_invite_alipay_qr = lv.qrcode(alipay_invite_bg, 150, alipay_invite_fg_color, alipay_invite_bg_color)
+alipay_invite_alipay_qr.set_pos(41,67)
+# Add a border with alipay_invite_bg_color
+alipay_invite_alipay_qr.set_style_border_color(alipay_invite_bg_color, 0)
+alipay_invite_alipay_qr.set_style_border_width(5, 0)
 class Alipay_invite(Screen):
     NAME = "alipay_invite"
     #未绑定,获取二维码显示
     def __init__(self):
         super().__init__()
-        self.meta = None
-        
-
-                
+        self.meta = alipay_invite_screen
+                     
     def initialization(self):
-        if self.meta == None:    
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #背景
-            self.bg = lv.img(self.meta)
-            self.bg.center()
-            self.bg.set_size(240,240)
-            self.bg.set_src("E:/static/APP/alipay/1_2.jpg")
-            self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #提示词
-            self.label = lv.label(self.bg)
-            self.label.set_pos(6, 8)
-            self.label.set_size(228, 48)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("请家长用手机支付宝扫一扫")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            #二维码
-            self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
-            self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-
-            self.alipay_qr = lv.qrcode(self.bg, 150, self.fg_color, self.bg_color)
-            self.alipay_qr.set_pos(41,67)
-            # Add a border with bg_color
-            self.alipay_qr.set_style_border_color(self.bg_color, 0)
-            self.alipay_qr.set_style_border_width(5, 0)
+        pass
    
     def post_processor_after_initialization(self):
         # 二维码数据
         self.alipay_qr_data = str(self.meta_info)
         print("alipay_invite:",str(self.meta_info))
-        self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
+        alipay_invite_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
 
-    
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "main_menu"}) 
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -520,83 +512,85 @@ class Alipay_invite(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_inviting_screen = lv.obj()
+alipay_inviting_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_inviting_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#提示词
+alipay_inviting_label = lv.label(alipay_inviting_screen)
+alipay_inviting_label.set_pos(30, 158)
+alipay_inviting_label.set_size(180, 24)
+alipay_inviting_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_inviting_label.set_text("绑定中,不要走开")
+alipay_inviting_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_inviting_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 class Alipay_inviting(Screen):
     NAME = "alipay_inviting"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-
-   
+        self.meta = alipay_inviting_screen
+        
     def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #提示词
-            self.label = lv.label(self.meta)
-            self.label.set_pos(30, 158)
-            self.label.set_size(180, 24)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("绑定中,不要走开")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+        pass
    
     def post_processor_after_initialization(self):
         pass
     
     def Close(self):
-        self.meta.delete()
-        self.meta = None
-
-
-
+        EventMesh.publish("alipay_exit")
+        pass
+                
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_success_screen = lv.obj()
+alipay_success_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_success_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#背景
+alipay_success_bg = lv.img(alipay_success_screen)
+alipay_success_bg.set_pos(56,30)
+alipay_success_bg.set_size(128,127)
+alipay_success_bg.set_src("E:/static/APP/alipay/1_2_1.png")
+alipay_success_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#提示词
+alipay_success_label = lv.label(alipay_success_screen)
+alipay_success_label.set_pos(68, 168)
+alipay_success_label.set_size(104, 29)
+alipay_success_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_success_label.set_text("绑定成功")
+alipay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_success_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 class Alipay_success(Screen):
     NAME = "alipay_success"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = alipay_success_screen
+        self.timer_Alipay_success = osTimer()
 
-   
     def initialization(self):
-        if self.meta == None:
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #背景
-            self.bg = lv.img(self.meta)
-            self.bg.set_pos(56,30)
-            self.bg.set_size(128,127)
-            self.bg.set_src("E:/static/APP/alipay/1_2_1.png")
-            self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #提示词
-            self.label = lv.label(self.meta)
-            self.label.set_pos(68, 168)
-            self.label.set_size(104, 29)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("绑定成功")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+        self.timer_Alipay_success.start(1000, 0, self.timeout_Alipay_success)
+        pass
    
     def post_processor_after_initialization(self):
         pass
 
+    def timeout_AlipayOpen(self, *args, **kwargs):
+        EventMesh.publish("load_screen", {"screen": "alipay_1_1"}) 
+        self.timer_AlipayOpen.stop()    
+        
 
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
                 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -604,88 +598,81 @@ class Alipay_success(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_paycode_screen = lv.obj()
+alipay_paycode_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_paycode_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+alipay_paycode = lv.tileview(alipay_paycode_screen)
+alipay_paycode.center()
+alipay_paycode.set_size(240, 320)
+alipay_paycode.add_style(style_alipay_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# 1 - 条形码界面
+alipay_barcode = alipay_paycode.add_tile(0, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+
+#椭圆背景
+alipay_paycode_cont = lv.obj(alipay_barcode)
+alipay_paycode_cont.set_size(240,220)
+alipay_paycode_cont.set_pos(0,21)
+alipay_paycode_cont.add_style(style_cont_alipay, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#提示词
+alipay_paycode_label = lv.label(alipay_barcode)
+alipay_paycode_label.set_pos(10, 33)
+alipay_paycode_label.set_size(220, 24)
+alipay_paycode_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_paycode_label.set_text("收银员扫一扫,完成付款")
+alipay_paycode_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_paycode_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#条形码
+alipay_paycode_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
+alipay_paycode_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
+alipay_bar = lv.qrcode(alipay_barcode, 150, alipay_paycode_fg_color, alipay_paycode_bg_color)
+alipay_bar.set_pos(33,61)
+alipay_bar.set_style_border_color(alipay_paycode_bg_color, 0)
+alipay_bar.set_style_border_width(5, 0)
+
+#编号
+
+# 2 - 二维码界面
+alipay_qrcode = alipay_paycode.add_tile(1, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+
+#白色背景
+
+#提示词
+alipay_paycode_label1 = lv.label(alipay_qrcode)
+alipay_paycode_label1.set_pos(10, 33)
+alipay_paycode_label1.set_size(220, 24)
+alipay_paycode_label1.set_long_mode(lv.label.LONG.WRAP)
+alipay_paycode_label1.set_text("收银员扫一扫,完成付款")
+alipay_paycode_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_paycode_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+#二维码
+
+alipay_paycode_alipay_qr = lv.qrcode(alipay_qrcode, 150, alipay_paycode_fg_color, alipay_paycode_bg_color)
+alipay_paycode_alipay_qr.set_pos(33,61)
+alipay_paycode_alipay_qr.set_style_border_color(alipay_paycode_bg_color, 0)
+alipay_paycode_alipay_qr.set_style_border_width(5, 0)
 class Alipay_paycode(Screen):
     NAME = "alipay_paycode"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-
+        self.meta = alipay_paycode_screen
   
-    def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            self.alipay_paycode = lv.tileview(self.meta)
-            self.alipay_paycode.center()
-            self.alipay_paycode.set_size(240, 320)
-            self.alipay_paycode.add_style(style_alipay_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            # 1 - 条形码界面
-            self.alipay_barcode = self.alipay_paycode.add_tile(0, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-            #椭圆背景
-            self.cont = lv.obj(self.alipay_barcode)
-            self.cont.set_size(240,220)
-            self.cont.set_pos(0,21)
-            self.cont.add_style(style_cont_alipay, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            #提示词
-            self.label = lv.label(self.alipay_barcode)
-            self.label.set_pos(10, 33)
-            self.label.set_size(220, 24)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("收银员扫一扫,完成付款")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            #条形码
-            self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
-            self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-            self.alipay_bar = lv.qrcode(self.alipay_barcode, 150, self.fg_color, self.bg_color)
-            self.alipay_bar.set_pos(33,61)
-            self.alipay_bar.set_style_border_color(self.bg_color, 0)
-            self.alipay_bar.set_style_border_width(5, 0)
-
-            #编号
-
-            # 2 - 二维码界面
-            self.alipay_qrcode = self.alipay_paycode.add_tile(1, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-            #白色背景
-
-            #提示词
-            self.label1 = lv.label(self.alipay_qrcode)
-            self.label1.set_pos(10, 33)
-            self.label1.set_size(220, 24)
-            self.label1.set_long_mode(lv.label.LONG.WRAP)
-            self.label1.set_text("收银员扫一扫,完成付款")
-            self.label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            #二维码
-
-            self.alipay_qr = lv.qrcode(self.alipay_qrcode, 150, self.fg_color, self.bg_color)
-            self.alipay_qr.set_pos(33,61)
-            self.alipay_qr.set_style_border_color(self.bg_color, 0)
-            self.alipay_qr.set_style_border_width(5, 0)
-
-    def post_processor_after_initialization(self):        
+    def post_processor_after_initialization(self):
         self.alipay_qr_data = str(self.meta_info)
         print("alipay_paycode:",str(self.meta_info))
-        self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
-        self.alipay_bar.update(self.alipay_qr_data,len(self.alipay_qr_data))
+        alipay_paycode_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
+        alipay_bar.update(self.alipay_qr_data,len(self.alipay_qr_data))
     
     def Close(self):
-        self.meta.delete()
-        self.meta = None
-
+        EventMesh.publish("alipay_exit")
+        pass
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
                 
@@ -695,57 +682,58 @@ class Alipay_paycode(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+
+alipay_pay_success_screen = lv.obj()
+alipay_pay_success_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_pay_success_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#支付成功LOGO
+alipay_pay_success_bg = lv.img(alipay_pay_success_screen)
+alipay_pay_success_bg.center()
+alipay_pay_success_bg.set_size(240,240)
+alipay_pay_success_bg.set_src("E:/static/APP/alipay/1_13_1_1.png")
+alipay_pay_success_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#付款金额
+alipay_pay_success_label = lv.label(alipay_pay_success_screen)
+alipay_pay_success_label.set_pos(78, 114)
+alipay_pay_success_label.set_size(84, 43)
+alipay_pay_success_label.set_long_mode(lv.label.LONG.WRAP)
+
+alipay_pay_success_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_pay_success_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+#完成按钮
+alipay_pay_success_btn = lv.btn(alipay_pay_success_screen)
+alipay_pay_success_btn.set_size(224,58)
+alipay_pay_success_btn.set_pos(8,174)
+alipay_pay_success_btn.remove_style_all()
+alipay_pay_success_btn.add_style(style_btn_alipay,0)
+
+alipay_pay_success_label_btn = lv.label(alipay_pay_success_btn)
+alipay_pay_success_label_btn.set_text("支付完成")
+alipay_pay_success_label_btn.center()
+alipay_pay_success_label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 class Alipay_pay_success(Screen):
     NAME = "alipay_pay_success"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = alipay_pay_success_screen
 
-    def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #支付成功LOGO
-            self.bg = lv.img(self.meta)
-            self.bg.center()
-            self.bg.set_size(240,240)
-            self.bg.set_src("E:/static/APP/alipay/1_13_1_1.png")
-            self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #付款金额
-            self.label = lv.label(self.meta)
-            self.label.set_pos(78, 114)
-            self.label.set_size(84, 43)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            #完成按钮
-            self.btn = lv.btn(self.meta)
-            self.btn.set_size(224,58)
-            self.btn.set_pos(8,174)
-            self.btn.remove_style_all()
-            self.btn.add_style(style_btn_alipay,0)
-
-            self.label_btn = lv.label(self.btn)
-            self.label_btn.set_text("支付完成")
-            self.label_btn.center()
-            self.label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
     def post_processor_after_initialization(self):
         print("money:",str(self.meta_info))
-        self.label.set_text(str(self.meta_info))
-
+        alipay_pay_success_label.set_text(str(self.meta_info))
 
+   
+    def initialization(self):
+        pass
       
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
                 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -753,47 +741,49 @@ class Alipay_pay_success(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+alipay_collect_screen = lv.obj()
+alipay_collect_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_collect_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#二维码
+alipay_collect_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
+alipay_collect_bg_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
+
+alipay_collect_alipay_qr = lv.qrcode(alipay_collect_screen, 150, alipay_collect_bg_fg_color, alipay_collect_bg_color)
+alipay_collect_alipay_qr.set_pos(33,22)
+# Add a border with bg_color
+alipay_collect_alipay_qr.set_style_border_color(alipay_collect_bg_color, 0)
+alipay_collect_alipay_qr.set_style_border_width(5, 0)
+
+#提示词
+alipay_collect_label = lv.label(alipay_collect_screen)
+alipay_collect_label.set_pos(20, 204)
+alipay_collect_label.set_size(200, 24)
+alipay_collect_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_collect_label.set_text("请对方使用支付宝扫码")
+alipay_collect_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_collect_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 class Alipay_collect(Screen):
     NAME = "alipay_collect"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = alipay_collect_screen
+        
 
+  
     def initialization(self):
-        if self.meta == None:    
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #二维码
-            self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
-            self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-
-            self.alipay_qr = lv.qrcode(self.meta, 150, self.fg_color, self.bg_color)
-            self.alipay_qr.set_pos(33,22)
-            # Add a border with bg_color
-            self.alipay_qr.set_style_border_color(self.bg_color, 0)
-            self.alipay_qr.set_style_border_width(5, 0)
-
-            #提示词
-            self.label = lv.label(self.meta)
-            self.label.set_pos(20, 204)
-            self.label.set_size(200, 24)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("请对方使用支付宝扫码")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+        pass
    
     def post_processor_after_initialization(self):
         self.alipay_qr_data = str(self.meta_info)
         print("alipay_collect:",str(self.meta_info))
-        self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
+        alipay_collect_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
     
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
@@ -804,72 +794,72 @@ class Alipay_collect(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
-
+alipay_parent_screen = lv.obj()
+alipay_parent_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+alipay_parent_screen.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#家长头像
+alipay_parent_bg = lv.img(alipay_parent_screen)
+alipay_parent_bg.set_pos(8,12)
+alipay_parent_bg.set_size(81,81)
+alipay_parent_bg.set_src("E:/static/APP/alipay/1_11_1.png")
+alipay_parent_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#提示词
+alipay_parent_label = lv.label(alipay_parent_screen)
+alipay_parent_label.set_pos(104, 12)
+alipay_parent_label.set_size(96, 29)
+alipay_parent_label.set_long_mode(lv.label.LONG.WRAP)
+alipay_parent_label.set_text("家长设置")
+alipay_parent_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_parent_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+alipay_parent_label1 = lv.label(alipay_parent_screen)
+alipay_parent_label1.set_pos(100, 43)
+alipay_parent_label1.set_size(120, 29)
+alipay_parent_label1.set_long_mode(lv.label.LONG.WRAP)
+alipay_parent_label1.set_text("零花钱管理")
+alipay_parent_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_parent_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+alipay_parent_label2 = lv.label(alipay_parent_screen)
+alipay_parent_label2.set_pos(100, 71)
+alipay_parent_label2.set_size(120, 29)
+alipay_parent_label2.set_long_mode(lv.label.LONG.WRAP)
+alipay_parent_label2.set_text("解绑退钱")
+alipay_parent_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alipay_parent_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+#家长码
+alipay_parent_bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
+alipay_parent_fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
+
+alipay_parent_alipay_qr = lv.qrcode(alipay_parent_screen, 150, alipay_parent_fg_color, alipay_parent_bg_color)
+alipay_parent_alipay_qr.set_pos(8,171)
+# Add a border with bg_color
+alipay_parent_alipay_qr.set_style_border_color(alipay_parent_bg_color, 0)
+alipay_parent_alipay_qr.set_style_border_width(5, 0)
 class Alipay_parent(Screen):
     NAME = "alipay_parent"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = alipay_parent_screen
+        
 
    
     def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            # add style for watchface
-            self.meta.add_style(style_alipay_screen_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #家长头像
-            self.bg = lv.img(self.meta)
-            self.bg.set_pos(8,12)
-            self.bg.set_size(81,81)
-            self.bg.set_src("E:/static/APP/alipay/1_11_1.png")
-            self.bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-            #提示词
-            self.label = lv.label(self.meta)
-            self.label.set_pos(104, 12)
-            self.label.set_size(96, 29)
-            self.label.set_long_mode(lv.label.LONG.WRAP)
-            self.label.set_text("家长设置")
-            self.label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.label1 = lv.label(self.meta)
-            self.label1.set_pos(100, 43)
-            self.label1.set_size(120, 29)
-            self.label1.set_long_mode(lv.label.LONG.WRAP)
-            self.label1.set_text("零花钱管理")
-            self.label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.label2 = lv.label(self.meta)
-            self.label2.set_pos(100, 71)
-            self.label2.set_size(120, 29)
-            self.label2.set_long_mode(lv.label.LONG.WRAP)
-            self.label2.set_text("解绑退钱")
-            self.label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            #家长码
-            self.bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
-            self.fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-
-            self.alipay_qr = lv.qrcode(self.meta, 150, self.fg_color, self.bg_color)
-            self.alipay_qr.set_pos(8,171)
-            # Add a border with bg_color
-            self.alipay_qr.set_style_border_color(self.bg_color, 0)
-            self.alipay_qr.set_style_border_width(5, 0)
+        pass
    
     def post_processor_after_initialization(self):
         self.alipay_qr_data = str(self.meta_info)
         print("alipay_parent:",str(self.meta_info))
-        self.alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
+        alipay_parent_alipay_qr.update(self.alipay_qr_data,len(self.alipay_qr_data))
     
     def Close(self):
-        self.meta.delete()
-        self.meta = None
+        EventMesh.publish("alipay_exit")
+        pass
                 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "alipay_1_1"})
index 4bc29fa..127d482 100644 (file)
@@ -2,10 +2,9 @@ import log
 from machine import I2C
 import utime
 from machine import Pin
-import example
 import uos
-ldev = uos.VfsLfs1(32, 32, 32, "ext_fs",0,3)
-uos.mount(ldev,'/ext')
+
+# from ext import capacitive_hynitron_cst816d_update_new
 from ext import capacitive_hynitron_cst816d_update
 
 TP_HYN_I2C_UPDATE_WRITE_ADDR = (0x6A<<1)  
@@ -21,18 +20,19 @@ def cst816d_read_checksum():
     if -1 == cst816d_enter_bootmode():
         return -1
 
-    i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE)
+    i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE)
     cmd = [0]
 
-    ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x03]), 2, bytearray(cmd), 1)
-    print("读取checksum写命令 ret:{} cmd[0]:{:#X} ".format(ret,cmd[0]))
-    utime.sleep_ms(500)
-
-    r_data = bytearray(1)
-    ret = i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x08]), 2, r_data, 1, 0)
-    print("读取checksum读命令 ret:{} cmd[0]:{:#X} ".format(ret,r_data[0]))
+    if -1 == i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x03]), 2, bytearray(cmd), 1):
+        return -1
+    utime.sleep_ms(500)#这里延时太短会读错checksum
 
-    return r_data[0]    
+    r_data = bytearray(2)
+    if -1 == i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x08]), 2, r_data, 2, 0):
+        return -1
+    check_sum = (r_data[1] << 8) | r_data[0]
+    print("check_sum的值为:",check_sum)
+    return check_sum    
 #---------------------------------------------------------------------
 # GPIO_ResetTP
 #---------------------------------------------------------------------
@@ -40,9 +40,6 @@ def GPIO_ResetTP():
 
     print("GPIO_ResetTP")
     
-    gpio_power = Pin(Pin.GPIO18, Pin.OUT, Pin.PULL_PU, 0)
-    gpio_power.write(1)
-
     gpio_reset = Pin(Pin.GPIO32, Pin.OUT, Pin.PULL_PU, 0)
     gpio_reset.write(0)
     utime.sleep_ms(10)
@@ -54,64 +51,56 @@ def GPIO_ResetTP():
 #---------------------------------------------------------------------
 def cst816d_update(startAddr, length, data):
     print("cst816d_update")
+    if -1 == cst816d_enter_bootmode():
+        return -1
+
     sum_len = 0
     cmd = [0,0]
     global x
     while 1:
         x += 1
-        print("烧录次数:",str(x))
         if sum_len >= length:
             print("sum_len >= length,退出循环")
             return
         a = startAddr&0xFF
-        #print('cmd[0]',a)
         cmd[0]=a
         b = startAddr>>8
-        #print('cmd[1]',b)
         cmd[1]=b
-        i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE)
+        i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE)
 
         ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x14]), 2, bytearray(cmd), 2)
         utime.sleep_ms(100)
-        #print("烧写固件第一次写命令 ret:{} cmd[0]:{:#X} cmd[1]:{:#X}".format(ret,cmd[0],cmd[1]))
 
         ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x18]), 2, bytearray(data), PER_LEN)
+
         utime.sleep_ms(100)
-        #print("烧写固件包 ret : ",ret)
-        #print("data[0]:{:#X} data[1]:{:#X} data[2]:{:#X} data[510]:{:#X} data[511]:{:#X}".format(data[0],data[1],data[2],data[510],data[511]))
 
         cmd[0] = 0xEE
         ret = i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x04]), 2, bytearray(cmd), 1)
-        #print("烧写固件第二次写命令 ret:{} cmd[0]:{:#X} ".format(ret,cmd[0]))
+
         utime.sleep_ms(100)
 
         retrycnt = 51
         for i in range (retrycnt):
             r_data = bytearray(1)
             ret = i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x05]), 2, r_data, 1, 0)
-            utime.sleep_ms(1000)
-            #print("烧写固件读数据 ret:{} r_data[0]:{:#X} ".format(ret,r_data[0]))
+            utime.sleep_ms(50)
+
             if r_data[0] == 0x55:
                 print("r_data[0] = 0x55,break")
                 break
         
         startAddr = startAddr + PER_LEN
         del data[0:PER_LEN]
-        #data = data + PER_LEN
         sum_len = sum_len + PER_LEN 
-        #print("PER_LEN:",PER_LEN)
-        #print('startAddr:',hex(startAddr))
-        #print("data[0]:{:#X} data[1]:{:#X} data[2]:{:#X} data[510]:{:#X} data[511]:{:#X}".format(data[0],data[1],data[2],data[510],data[511]))
-        #print('sum_len:',sum_len)
 
 #---------------------------------------------------------------------
 # cst816d_enter_bootmode
 #---------------------------------------------------------------------
 def cst816d_enter_bootmode():
 
-    print("cst816s_enter_bootmode")
     GPIO_ResetTP()
-    i2c_obj = I2C(I2C.I2C2, I2C.STANDARD_MODE)
+    i2c_obj = I2C(I2C.I2C2, I2C.FAST_MODE)
 
     cmd = [0xAB]
     #进入boot模式
@@ -119,21 +108,17 @@ def cst816d_enter_bootmode():
     global y
     for i in range (retrycnt):
         y += 1
-        print("第{}次尝试进入boot模式".format(y))
         if 0 == i2c_obj.write(TP_HYN_I2C_UPDATE_WRITE_ADDR>>1, bytearray([0xa0,0x01]), 2, bytearray(cmd), 1):
-            utime.sleep_ms(2)
-            print("boot模式写命令 cmd[0]:{:#X} ".format(cmd[0]))
+            utime.sleep_ms(100)
         else:
             print("boot模式写命令失败")
 
         r_data = bytearray(1)
         if -1 == i2c_obj.read(TP_HYN_I2C_UPDATE_READ_ADDR>>1, bytearray([0xa0,0x03]), 2, r_data, 1, 0):
-            utime.sleep_ms(2)
-            print("boot模式读flag失败")
+            utime.sleep_ms(100)
         else:
             if 0xc1 == r_data[0]:
-                print("成功进入boot模式 flag:{:#X} ".format(r_data[0]))
-                utime.sleep_ms(2)
+                utime.sleep_ms(100)
                 return 0
             else:
                 print("boot模式进入失败")
@@ -144,7 +129,6 @@ def cst816d_enter_bootmode():
 #---------------------------------------------------------------------
 def ctp_hynitron_update():
 
-    print("ctp_hynitron_update")
     # 初始化固件数组和数组长度
     p_app_bin = []
     app_bin_len = 0
@@ -154,58 +138,52 @@ def ctp_hynitron_update():
         return 
 
     #  获取固件数组
+    # p_app_bin = capacitive_hynitron_cst816d_update_new.app_bin_816d
     p_app_bin = capacitive_hynitron_cst816d_update.app_bin_816d
+
     #  获取固件数组的长度
     app_bin_len = len(p_app_bin)
-    print("获取固件文件 length ",app_bin_len)
 
     if app_bin_len > 10:
         startAddr = p_app_bin[1]
         length = p_app_bin[3]
-        checksum = p_app_bin[5]
+        checksum = p_app_bin[5] #a8  78
 
         startAddr <<= 8; startAddr |= p_app_bin[0]
         length <<= 8; length |= p_app_bin[2]
         checksum <<= 8; checksum |= p_app_bin[4] 
+
         print("startAddr:%x"%startAddr)
         print("length:%x"%length) 
         print("checksum:%x"%checksum)   
 
-        del p_app_bin[0:6]
-        cst816d_update(startAddr, length, p_app_bin)         
 
-        # #检查checksum
-        # if cst816d_read_checksum() != checksum:
+        #检查checksum
+        sum_now = cst816d_read_checksum()
+        if sum_now != checksum:
+            print("固件包checksum不相同!")
+
+            del p_app_bin[0:6]
+            cst816d_update(startAddr, length, p_app_bin)
 
-        #     del p_app_bin[0:6]
-        #     cst816d_update(startAddr, length, p_app_bin)
+            #升级后再次确认checksum
+            if checksum == cst816d_read_checksum():
+                print("固件升级成功!")
 
-        #     #升级后再次确认checksum
-        #     if checksum == cst816d_read_checksum():
-        #         print("固件升级成功!")
+        elif  checksum == sum_now:
+            print("固件包checksum相同,退出")
 
-        # elif checksum == cst816d_read_checksum():
-        #     print("固件包checksum相同")
 
-        # else:
-        #     print("checksum读取失败")  
 #---------------------------------------------------------------------
 # HYN_Initial
 #---------------------------------------------------------------------
 def HYN_Initial():
 
-    print("HYN_Initial")
     GPIO_ResetTP()
 
     ctp_hynitron_update() 
 
     GPIO_ResetTP()
-#---------------------------------------------------------------------
-# main
-#---------------------------------------------------------------------
-print("tpcst816d_test: tp start init!!")
-HYN_Initial()
-print("tpcst816d_test: tp start init end!!")
 
 
 
index 7354697..a4116c7 100644 (file)
@@ -5,7 +5,8 @@ import _thread
 import utime
 from ext import EventMesh
 from misc import PWM
-
+from ext import initTP
+    
 init_data = (
 
     0, 0, 0x11,
@@ -166,6 +167,7 @@ disp_drv.ver_res = LCD_SIZE_H
 disp_drv.register()
 
 # CST816初始化
+initTP.HYN_Initial()
 tp_cst816 = cst816(i2c_no = 2,irq=33, reset=32)
 tp_cst816.activate()
 tp_cst816.init()
index 64acbb0..65fbaf9 100644 (file)
@@ -36,42 +36,53 @@ class watchApp(App):
 if __name__ == '__main__':
     import uos
     import ql_fs
+    import utime
     if ql_fs.path_exists("/ext") == False:
         ldev = uos.VfsLfs1(32, 32, 32, "ext_fs",0,3)
         uos.mount(ldev,'/ext')
     res = uos.statvfs("/ext")
     res = list(res)
     print('总ext空间:{} MB,剩余空间:{} MB'.format((((res[0] * res[2]) / 1024 / 1024)),((res[0] * res[3]) / 1024 / 1024)))
-
+    print("init1:{}".format(utime.localtime()))
     from ext import EventMesh
     from ext.common import Abstract
+    print("init2:{}".format(utime.localtime()))
     from ext.lcd import tp_cst816
+    print("init3:{}".format(utime.localtime()))
     from ext.btn_device_ec800m import BtnDevice
     from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,ProtoColResolver,PHL_ProtoCol
+    print("init4:{}".format(utime.localtime()))
     import ext.mgr as mgr
+    print("init5:{}".format(utime.localtime()))
     import ext.ui as _ui
-    from ext.mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager, \
+    print("init6:{}".format(utime.localtime()))
+    from ext.mgr import ConfigStoreManager, LocationManager, SockManager, \
     NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getOldHrDataManager,getStorageDataManager,getBrightnessManager,getHrTimeManager
     from ext.appAlipay import Alipay ,AlipayOpenScreen,Alipay_1_1,Alipay_invite,Alipay_inviting,\
     Alipay_success,Alipay_paycode,Alipay_pay_success,Alipay_collect,Alipay_parent
     # from ext.ui_WatchFaceScreen import WatchFaceScreen
     from ext.alarm import ClkListScreen,ClockManager,NewEditClk,CLKTimeScreen,ClkPeriod,PopupAlarmScreen
     from ext.ui_main_menu import MainMenuScreen
-    from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol,NewWechatPopupScreen
+    #from ext.ui_WatchFaceScreen import WatchFaceScreen 
+    from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol
     import ext.ui_setting as _ui_setting
     from ext.appFactoryMode import  FactoryModeLocationScreen,FactoryModeScreen 
     # from usr.test_sms import HRSTART_ProtoCol,getHrTimeManager,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,getBrightnessManager,\
     # getStorageDataManager
-
+    print("init7:{}".format(utime.localtime()))
    #from usr.ui_wechat import WechatScreen,TK_ProtoCol
     btn_device = BtnDevice(tp_cst816)
     btn_device.start()
-
+    print("init8:{}".format(utime.localtime()))
     ui = _ui.UI()
     # ui.add_screen(WatchFaceScreen()) 
     ui.add_screen(_ui.PopupScreen()) 
     ui.add_screen(_ui.PhoneScreen()) 
+    #ui.add_screen(WatchFaceScreen()) 
+    # ui.add_screen(WatchFace1Screen()) 
+    # ui.add_screen(WatchFace2Screen()) 
     ui.add_screen(MainMenuScreen()) 
+    #ui.add_screen(MainMenu2Screen())
     ui.add_screen(_ui.HeartrateScreen()) 
     ui.add_screen(_ui_setting.SettingScreen()) 
     ui.add_screen(_ui.ToolboxScreen()) 
@@ -124,11 +135,8 @@ if __name__ == '__main__':
     ui.add_screen(FactoryModeLocationScreen())
     ui.add_screen(FactoryModeScreen())
     ui.add_screen(PopupAlarmScreen())
-    ui.add_screen(_ui.LowPowerScreen())
-    ui.add_screen(_ui.NewMessageScreen())
-    ui.add_screen(NewWechatPopupScreen())
     # ui.add_screen(_ui.Setting3Screen())  
-
+    print("init9:{}".format(utime.localtime()))
 
     app = watchApp()
     app.set_ui(ui)
@@ -156,8 +164,7 @@ if __name__ == '__main__':
     app.append_manager(getHrTimeManager())
     app.append_manager(getBrightnessManager())
     app.append_manager(getStorageDataManager())
-    app.append_manager(getVolumSizeManager())
-        
+    print("init10:{}".format(utime.localtime()))    
     pcr = ProtoColResolver()
     pcr.add_support(LK_ProtoCol())
     pcr.add_support(PING_ProtoCol())
@@ -179,6 +186,7 @@ if __name__ == '__main__':
     sm.add_support_resolver(pcr)
     app.append_manager(sm)
     app.start()
-
+    print("init11:{}".format(utime.localtime()))
     EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+
index 356ec54..65fbaf9 100644 (file)
@@ -35,7 +35,6 @@ class watchApp(App):
 
 if __name__ == '__main__':
     import uos
-    import gc
     import ql_fs
     import utime
     if ql_fs.path_exists("/ext") == False:
@@ -44,43 +43,46 @@ if __name__ == '__main__':
     res = uos.statvfs("/ext")
     res = list(res)
     print('总ext空间:{} MB,剩余空间:{} MB'.format((((res[0] * res[2]) / 1024 / 1024)),((res[0] * res[3]) / 1024 / 1024)))
-    mem = gc.mem_free()
-    print('剩余内存RAM:{} KB'.format(mem / 1024))
-    print("init0:{}".format(utime.localtime()))
+    print("init1:{}".format(utime.localtime()))
     from ext import EventMesh
     from ext.common import Abstract
+    print("init2:{}".format(utime.localtime()))
     from ext.lcd import tp_cst816
+    print("init3:{}".format(utime.localtime()))
     from ext.btn_device_ec800m import BtnDevice
     from ext.protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,ProtoColResolver,PHL_ProtoCol
+    print("init4:{}".format(utime.localtime()))
     import ext.mgr as mgr
-    print("init1:{}".format(utime.localtime()))
+    print("init5:{}".format(utime.localtime()))
     import ext.ui as _ui
-    print("init2:{}".format(utime.localtime()))
-    from ext.mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager, \
+    print("init6:{}".format(utime.localtime()))
+    from ext.mgr import ConfigStoreManager, LocationManager, SockManager, \
     NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getOldHrDataManager,getStorageDataManager,getBrightnessManager,getHrTimeManager
-    print("init3:{}".format(utime.localtime()))
     from ext.appAlipay import Alipay ,AlipayOpenScreen,Alipay_1_1,Alipay_invite,Alipay_inviting,\
     Alipay_success,Alipay_paycode,Alipay_pay_success,Alipay_collect,Alipay_parent
     # from ext.ui_WatchFaceScreen import WatchFaceScreen
-    print("init4:{}".format(utime.localtime()))
     from ext.alarm import ClkListScreen,ClockManager,NewEditClk,CLKTimeScreen,ClkPeriod,PopupAlarmScreen
     from ext.ui_main_menu import MainMenuScreen
-    from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol,NewWechatPopupScreen
+    #from ext.ui_WatchFaceScreen import WatchFaceScreen 
+    from ext.appWechat import WechatScreen,TK_ProtoCol,MESSAGE_ProtoCol
     import ext.ui_setting as _ui_setting
-    print("init5:{}".format(utime.localtime()))
     from ext.appFactoryMode import  FactoryModeLocationScreen,FactoryModeScreen 
     # from usr.test_sms import HRSTART_ProtoCol,getHrTimeManager,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,getBrightnessManager,\
     # getStorageDataManager
-    print("init6:{}".format(utime.localtime()))
+    print("init7:{}".format(utime.localtime()))
    #from usr.ui_wechat import WechatScreen,TK_ProtoCol
     btn_device = BtnDevice(tp_cst816)
     btn_device.start()
-
+    print("init8:{}".format(utime.localtime()))
     ui = _ui.UI()
     # ui.add_screen(WatchFaceScreen()) 
     ui.add_screen(_ui.PopupScreen()) 
     ui.add_screen(_ui.PhoneScreen()) 
+    #ui.add_screen(WatchFaceScreen()) 
+    # ui.add_screen(WatchFace1Screen()) 
+    # ui.add_screen(WatchFace2Screen()) 
     ui.add_screen(MainMenuScreen()) 
+    #ui.add_screen(MainMenu2Screen())
     ui.add_screen(_ui.HeartrateScreen()) 
     ui.add_screen(_ui_setting.SettingScreen()) 
     ui.add_screen(_ui.ToolboxScreen()) 
@@ -114,7 +116,6 @@ if __name__ == '__main__':
     ui.add_screen(_ui_setting.MsgvolumeScreen()) 
     ui.add_screen(_ui_setting.PhoneringScreen()) 
     ui.add_screen(_ui_setting.totalvolumeScreen()) 
-    ui.add_screen(_ui_setting.PoweroffConfirmScreen()) 
     ui.add_screen(_ui.DialingScreen()) 
     ui.add_screen(_ui.CallLogScreen()) 
     ui.add_screen(AlipayOpenScreen()) 
@@ -134,12 +135,9 @@ if __name__ == '__main__':
     ui.add_screen(FactoryModeLocationScreen())
     ui.add_screen(FactoryModeScreen())
     ui.add_screen(PopupAlarmScreen())
-    ui.add_screen(_ui.LowPowerScreen())
-    ui.add_screen(_ui.NewMessageScreen())
-    ui.add_screen(NewWechatPopupScreen())
     # ui.add_screen(_ui.Setting3Screen())  
+    print("init9:{}".format(utime.localtime()))
 
-    print("init7:{}".format(utime.localtime()))
     app = watchApp()
     app.set_ui(ui)
     app.append_manager(mgr.AlarmVolumeLevelManager()) \
@@ -166,8 +164,7 @@ if __name__ == '__main__':
     app.append_manager(getHrTimeManager())
     app.append_manager(getBrightnessManager())
     app.append_manager(getStorageDataManager())
-    app.append_manager(getVolumSizeManager())
-        
+    print("init10:{}".format(utime.localtime()))    
     pcr = ProtoColResolver()
     pcr.add_support(LK_ProtoCol())
     pcr.add_support(PING_ProtoCol())
@@ -189,6 +186,7 @@ if __name__ == '__main__':
     sm.add_support_resolver(pcr)
     app.append_manager(sm)
     app.start()
-    print("init8:{}".format(utime.localtime()))
+    print("init11:{}".format(utime.localtime()))
     EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+
index d62fa1a..2eec719 100644 (file)
@@ -1575,7 +1575,6 @@ class getWeatherDataManager(Abstract):
         EventMesh.subscribe("set_weather_data", self.set)
 
     def get(self, event, msg):
-        # print("self.type:{} self.temp:{} ".format(self.type,self.temp))
         return [self.date,self.time,self.content,self.type,self.temp,self.min_temp,self.max_temp,self.city,self.no_data]
 
     def set(self, event, msg):
@@ -1588,8 +1587,6 @@ class getWeatherDataManager(Abstract):
         self.max_temp = msg[6]
         self.city = msg[7]
         self.no_data = msg[8]
-        # print("self.date:{} self.time:{} self.content:{} self.type:{} self.temp:{} self.min_temp:{}  self.max_temp:{} self.city:{}".format(self.date,self.time,self.content,self.type,self.temp,self.min_temp,self.max_temp,\
-        #     self.city))
 
 
 class getHrTimeManager(Abstract):
index bc77019..ce5931f 100644 (file)
@@ -492,6 +492,7 @@ class WT_ProtoCol(ProtoCol):
         msg_tmp = msg_tmp[1]
 
         # print("msg_tmp :%s"%(msg_tmp))
+
         msg_date = msg_tmp.split(',')[0]
 
         msg_time = msg_tmp.split(',')[1]
index 18a7aa2..c3b02c0 100644 (file)
@@ -17,6 +17,7 @@ from machine import Pin
 from ext.lcd import lcd,lcd_ctrl,tp_cst816
 from misc import PWM
 import uos
+import gc
 # -----------------------------------------style create--------------------------------------
 style_screen = lv.style_t()
 style_screen.init()
@@ -250,23 +251,6 @@ toolbox_alarm_img.add_flag(lv.obj.FLAG.CLICKABLE)
 toolbox_alarm_img.set_src("E:/static/tool/IMAGE_SECMENU_ALARM.png")
 toolbox_alarm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
-
-toolbox_sms = lv.btn(toolbox_cont)
-toolbox_sms.set_pos(0, 120)
-toolbox_sms.set_size(0, 0)
-toolbox_sms_label = lv.label(toolbox_sms)
-toolbox_sms_label.set_text("闹钟")
-toolbox_sms.set_style_pad_all(0, lv.STATE.DEFAULT)
-toolbox_sms_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-toolbox_sms_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-toolbox_sms.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-toolbox_sms_img = lv.img(toolbox_cont)
-toolbox_sms_img.set_pos(4, 270)
-toolbox_sms_img.set_size(232, 80)
-toolbox_sms_img.add_flag(lv.obj.FLAG.CLICKABLE)
-toolbox_sms_img.set_src("E:/static/tool/sms_setting.png")
-toolbox_sms_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
 toolbox_countdown = lv.btn(toolbox_cont)
 toolbox_countdown.set_pos(0, 180)
 toolbox_countdown.set_size(0, 0)
@@ -277,7 +261,7 @@ toolbox_countdown_label.align(lv.ALIGN.LEFT_MID, 70, 0)
 toolbox_countdown_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 toolbox_countdown.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
 toolbox_countdown_img = lv.img(toolbox_cont)
-toolbox_countdown_img.set_pos(4, 360)
+toolbox_countdown_img.set_pos(4, 270)
 toolbox_countdown_img.set_size(232, 80)
 toolbox_countdown_img.add_flag(lv.obj.FLAG.CLICKABLE)
 toolbox_countdown_img.set_src("E:/static/tool/IMAGE_SECMENU_COUNTDOWN.png")
@@ -293,7 +277,7 @@ toolbox_stopwatch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
 toolbox_stopwatch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 toolbox_stopwatch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
 toolbox_stopwatch_img = lv.img(toolbox_cont)
-toolbox_stopwatch_img.set_pos(4, 450)
+toolbox_stopwatch_img.set_pos(4, 360)
 toolbox_stopwatch_img.set_size(232, 80)
 toolbox_stopwatch_img.add_flag(lv.obj.FLAG.CLICKABLE)
 toolbox_stopwatch_img.set_src("E:/static/tool/IMAGE_SECMENU_STOPWATCH.png")
@@ -558,7 +542,7 @@ msg_detail_cont = lv.label(sms_detail)
 msg_detail_cont.set_pos(0, 50)
 msg_detail_cont.set_size(240, 200)
 msg_detail_cont.set_long_mode(lv.label.LONG.WRAP)
-msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 msg_detail_cont.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 
@@ -584,6 +568,7 @@ class Screen(Abstract):
         EventMesh.publish("load_screen", msg)
     
 
+
     def load(self):
         pass
 
@@ -1310,7 +1295,7 @@ class DialingScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 ############短信###############################
 MSG_FLAG = 0
-MSG_MAX = 5 #最大显示短信内容条数
+MSG_MAX = 10 #最大显示短信内容条数
 
 style_sms_bg_btn =  lv.style_t()
 style_sms_bg_btn.init()
@@ -1370,55 +1355,11 @@ no_msg_text.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 def msg_cb(args):
     index = args[1]
     storage = args[2]
+    EventMesh.publish("sms_updata_list_show")
+    #print('New message! storage:{},index:{}'.format(storage, index))
     
-    EventMesh.publish("load_screen", {"screen": "message_popup"})
-
 sms.setCallback(msg_cb)
 
-message_popup_screen = lv.obj()
-message_popup = lv.obj(message_popup_screen)
-message_popup.center()
-message_popup.set_size(240, 320)
-message_popup.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-message_popup_title = lv.label(message_popup)
-message_popup_title.set_pos(0, 150)
-message_popup_title.set_size(240, 40)
-message_popup_title.set_text("你有新的消息")
-message_popup_title.set_long_mode(lv.label.LONG.WRAP)
-message_popup_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-message_popup_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-#信息弹窗
-class NewMessageScreen(Screen):
-    NAME = "message_popup"
-    def __init__(self):
-        super().__init__()
-        self.meta = message_popup_screen
-
-
-    def done_left_to_right(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
-
-    def done_right_to_left(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
-
-    def done_bottom_to_top(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
-
-    def done_top_to_bottom(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
-
-    def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_click(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
-
-    def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-    def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
 
 
 class PopupScreen(Screen):
@@ -1458,8 +1399,8 @@ class PopupScreen(Screen):
             self.sms_detail_list.set_size(230, 270)
             self.sms_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             self.sms_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-            if self.msg_nums > MSG_MAX:
-                j = self.msg_nums-MSG_MAX
+            if self.msg_nums > 10:
+                j = self.msg_nums-10
             for i in range(MSG_MAX):
                 if count > (MSG_MAX-1):#j = 16 -10 6 7 8 9 10 11 12 13 14 15
                     break
@@ -1559,9 +1500,6 @@ class MsgDetailScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "popup"})
-
-
-
 # -------------------------------------------heartrate screen----------------------------------------------------------
 heartrate_screen = lv.obj()
 heartrate = lv.obj(heartrate_screen)
@@ -1685,30 +1623,25 @@ class HeartrateScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     
-import gc
+
 class ToolboxScreen(Screen):
     NAME = "toolbox"
 
     def __init__(self):
         super().__init__()
         self.meta = toolbox_screen
-        # toolbox_step.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None)
-        # toolbox_weather.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None)
-        # toolbox_alarm.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None)
-        # toolbox_sms_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "popup"}), lv.EVENT.CLICKED, None)
-        # toolbox_countdown.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None)
-        # toolbox_stopwatch.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None)
-        
+        toolbox_step.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None)
+        toolbox_weather.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None)
+        toolbox_alarm.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None)
+        toolbox_countdown.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None)
+        toolbox_stopwatch.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None)
+
         toolbox_step_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None)
         toolbox_weather_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None)
         toolbox_alarm_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None)
-        toolbox_sms_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "popup"}), lv.EVENT.CLICKED, None)
         toolbox_countdown_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None)
         toolbox_stopwatch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None)
-    
-    # def post_processor_after_initialization(self):
-    #     mem = gc.mem_free()
-    #     print('剩余内存RAM:{} KB'.format(mem / 1024))
+
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
@@ -1719,6 +1652,10 @@ class ToolboxScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
+
+
+
+CALL_LOG_MAX = 50
 class IncomingCallScreen(Screen):
     NAME = "incoming_call"
 
@@ -3136,57 +3073,21 @@ class StopwatchScreen(Screen):
        
 
 
-#电量低
-class LowPowerScreen(Screen):
-    NAME = "low_power"
-    def __init__(self):
-        super().__init__()
-        self.FIND_timer = osTimer()
-        self.meta = lv.obj()
-        self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # add style for watchface
-        self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #进入图片
-        self.watchface_mpsignal_img = lv.img(self.meta)
-        self.watchface_mpsignal_img.set_pos(int(40),int(45))
-        self.watchface_mpsignal_img.set_size(160,230)
-        self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_mpsignal_img.set_src("E:/static/low_power.png")
-        self.watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-    def initialization(self):
-        self.FIND_timer.start(10000, 0, self.FIND_timer_cb)
-        
-    def FIND_timer_cb(self, *args):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-    def Close(self):
-       self.FIND_timer.stop()
-
-    def done_left_to_right(self):
-        
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_right_to_left(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_bottom_to_top(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_top_to_bottom(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-    def done_click(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-    def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-    def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
-
 
 
 
+FIND_screen = lv.obj()
+FIND_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# add style for watchface
+FIND_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+#进入图片
+watchface_mpsignal_img = lv.img(FIND_screen)
+watchface_mpsignal_img.set_pos(int(40),int(45))
+watchface_mpsignal_img.set_size(160,230)
+watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface_mpsignal_img.set_src("E:/static/find_phone.png")
+watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
 class UIFINDScreen(Screen):
     NAME = "FIND"
     def __init__(self):
@@ -3213,29 +3114,18 @@ class UIFINDScreen(Screen):
         self.FIND_timer = osTimer()
         self.FIND_timer_count = 0
 
-        self.meta = lv.obj()
-        self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # add style for watchface
-        self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #进入图片
-        self.watchface_mpsignal_img = lv.img(self.meta)
-        self.watchface_mpsignal_img.set_pos(int(40),int(45))
-        self.watchface_mpsignal_img.set_size(160,230)
-        self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_mpsignal_img.set_src("E:/static/find_phone.png")
-        self.watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+        self.meta = FIND_screen
 
     def initialization(self):
         self.FIND_timer.start(3000, 1, self.FIND_timer_cb)
-        self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3')  #播放声音
+        self.aud.play(1, 0, 'E:/static/audio_audio_haixiu.mp3')  #播放声音
         
     def post_processor_after_instantiation(self):
         pass
     def post_processor_after_initialization(self):
         pass
     def FIND_timer_cb(self, *args):
-        self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') 
+        self.aud.play(1, 0, 'E:/static/audio_audio_haixiu.mp3') 
         self.FIND_timer_count += 1
         if self.FIND_timer_count > 40: #120秒
             self.stop_FIND()
@@ -3372,17 +3262,17 @@ class UI(object):
         if event == "done_click":
             self.screen.done_click()
     def btn_press(self, event, key):
-        print("btn_press: {} self.main_flag:{} self.sleep_flag:{}".format(event,self.main_flag,self.sleep_flag))
+        print("btn_press: {}".format(event))
         #主表盘按电源键,息屏
         
         #息屏状态按按钮都亮屏
         
         
-        if  self.sleep_flag == 0:
+        if self.main_flag != 1 and self.sleep_flag == 0:
             self.__lcd_on()
             return
         # if event == "btn1_press":
-        #      self.screen.btn1_press()
+        #     self.screen.btn1_press()
         if event == "btn8_press":
             self.screen.btn8_press()
         if event == "btn8_long_press":
@@ -3482,7 +3372,8 @@ class UI(object):
                     self.main_flag = 1
                 else :
                     self.main_flag = 0
-                
+                mem = gc.mem_free()
+                print('1剩余内存RAM:{} KB'.format(mem / 1024))
     
                 self.screen = scr
                 if self.screen_old != None :
@@ -3498,10 +3389,13 @@ class UI(object):
                 print("load_screen.load()")
                 self.screen.load()
                 self.lv.scr_load(self.screen.get_meta())
+                if scr.NAME == "incoming_call_screen" :
+                    self.lv.scr_load(lv.scr_act())
                 self.screen.post_processor_after_initialization()
+                mem = gc.mem_free()
+                print('2剩余内存RAM:{} KB'.format(mem / 1024))
 
                 
-                
 
 
 
index 57faf56..289cbcc 100644 (file)
@@ -8,214 +8,138 @@ from ext.ui import Screen,style_screen
 import ql_fs
 import ujson
 
+from ext.ui_main_menu import MainMenu2_Watchface
+
+
 style_font_youyuan_20 = lv.style_t()
 style_font_youyuan_20.init()
 style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
 style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0)
 
+
+Watchface = lv.obj()
+
+Watchface1 = lv.obj(Watchface)
+
+Watchface1.set_size(240,320)
+#Watchface1.set_pos(0,0)
+Watchface1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+Watchface1.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# create style style_watchface_img_default
+style_watchface_img_default = lv.style_t()
+style_watchface_img_default.init()
+style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
+style_watchface_img_default.set_img_recolor_opa(0)
+style_watchface_img_default.set_img_opa(255)
+
+
+#表盘
+
+#状态栏
+
+watchface1_mpsignal_img = lv.img(Watchface1)
+watchface1_mpsignal_img.set_pos(int(20),int(0))
+watchface1_mpsignal_img.set_size(24,17)
+watchface1_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface1_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface1_mpsignal_img.set_src("E:/static/mpsignal5.png")
+watchface1_mpsignal_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface1_res_stat_battery_img = lv.img(Watchface1)
+watchface1_res_stat_battery_img.set_pos(int(200),int(0))
+watchface1_res_stat_battery_img.set_size(30,18)
+watchface1_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface1_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface1_res_stat_battery_img.set_src("E:/static/vbat_100.png")
+watchface1_res_stat_battery_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface1_res_stat_charge_in_img = lv.img(Watchface1)
+watchface1_res_stat_charge_in_img.set_pos(int(180),int(0))
+watchface1_res_stat_charge_in_img.set_size(6,16)
+watchface1_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface1_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
+# add style for watchface1_res_stat_charge_in_img
+watchface1_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+#主图片
+watchface1_bg_img = lv.img(Watchface1)
+watchface1_bg_img.set_pos(int(0),int(40))
+watchface1_bg_img.set_size(240,280)
+watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png")
+watchface1_bg_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+#时间
+
+
 style_font_youyuan_70_black = lv.style_t()
 style_font_youyuan_70_black.init()
 style_font_youyuan_70_black.set_text_color(lv.color_make(0x32, 0xc8, 0xdb))
 style_font_youyuan_70_black.set_text_font(lv.font_70_bold)
 
-style_font_youyuan_70_red = lv.style_t()
-style_font_youyuan_70_red.init()
-style_font_youyuan_70_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29))
-style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
+watchface1_time1_text = lv.label(Watchface1)
+watchface1_time1_text.set_pos(20, 60)
+watchface1_time1_text.set_size(190, 71)
+watchface1_time1_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_time1_text.set_text("12:00")
+watchface1_time1_text.add_style(style_font_youyuan_70_black, lv.PART.MAIN|lv.STATE.DEFAULT)
 
-style_font_youyuan_40_red = lv.style_t()
-style_font_youyuan_40_red.init()
-style_font_youyuan_40_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29))
-style_font_youyuan_40_red.set_text_font(lv.font_30_week)
+#日期
+watchface1_date_span = lv.label(Watchface1)
+watchface1_date_span.set_pos(24, 131)
+watchface1_date_span.set_size(84, 30)
+watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_date_span.set_text("12月9日")
+watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+#星期
+watchface1_week_span = lv.label(Watchface1)
+watchface1_week_span.set_pos(24, 163)
+watchface1_week_span.set_size(70, 30)
+watchface1_week_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_week_span.set_text("星期四")
+watchface1_week_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
 
-class Watchface1():
-    NAME = "Watchface1"
-    # # #表盘1
-    def __init__(self,main_menu): 
-        print("Watchface1:__init__")
-        
-        self.meta = lv.obj(main_menu)
-        self.meta.set_size(240,320)
-        #self.meta.set_pos(0,0)
-        self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # # create style watchface_default
-        # self.watchface_default = lv.style_t()
-        # self.watchface_default.init()
-        # self.watchface_default.set_bg_color(lv.color_make(0x00,0x00,0x00))
-        # self.watchface_default.set_bg_opa(255)
-        # add style for watchface
-        self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        # create style style_watchface_img_default
-        self.style_watchface_img_default = lv.style_t()
-        self.style_watchface_img_default.init()
-        self.style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
-        self.style_watchface_img_default.set_img_recolor_opa(0)
-        self.style_watchface_img_default.set_img_opa(255)
 
 
-        #表盘
-        
-        label_text = lv.label(self.meta)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("0")
-        #状态栏
-        
-        self.watchface_mpsignal_img = lv.img(self.meta)
-        self.watchface_mpsignal_img.set_pos(int(20),int(0))
-        self.watchface_mpsignal_img.set_size(24,17)
-        self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png")
-        self.watchface_mpsignal_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface_res_stat_battery_img = lv.img(self.meta)
-        self.watchface_res_stat_battery_img.set_pos(int(200),int(0))
-        self.watchface_res_stat_battery_img.set_size(30,18)
-        self.watchface_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_res_stat_battery_img.set_src("E:/static/vbat_100.png")
-        self.watchface_res_stat_battery_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface_res_stat_charge_in_img = lv.img(self.meta)
-        self.watchface_res_stat_charge_in_img.set_pos(int(180),int(0))
-        self.watchface_res_stat_charge_in_img.set_size(6,16)
-        self.watchface_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
-        # add style for watchface_res_stat_charge_in_img
-        self.watchface_res_stat_charge_in_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        #主图片
-        self.watchface1_bg_img = lv.img(self.meta)
-        self.watchface1_bg_img.set_pos(int(0),int(40))
-        self.watchface1_bg_img.set_size(240,280)
-        self.watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png")
-        self.watchface1_bg_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #时间
-        x = 40
-        y = 80
-        # self.watchface1_time1_img = lv.img(self.meta)
-        # self.watchface1_time1_img.set_pos(int(x),int(y))
-        # self.watchface1_time1_img.set_size(36,44)
-        # self.watchface1_time1_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_time1_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_1/time/1.png")
-        # self.watchface1_time1_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        # self.watchface1_time2_img = lv.img(self.meta)
-        # self.watchface1_time2_img.set_pos(int(x+36),int(y))
-        # self.watchface1_time2_img.set_size(36,44)
-        # self.watchface1_time2_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_time2_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_1/time/3.png")
-        # self.watchface1_time2_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.watchface1_time3_img = lv.img(self.meta)
-        # self.watchface1_time3_img.set_pos(int(x+36+36+4),int(y+11))
-        # self.watchface1_time3_img.set_size(8,24)
-        # self.watchface1_time3_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_time3_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_time3_img.set_src("E:/static/watch_plate/style_1/time/colon.png")
-        # self.watchface1_time3_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.watchface1_time4_img = lv.img(self.meta)
-        # self.watchface1_time4_img.set_pos(int(x+36+36+4+12),int(y))
-        # self.watchface1_time4_img.set_size(36,44)
-        # self.watchface1_time4_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_time4_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_1/time/2.png")
-        # self.watchface1_time4_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.watchface1_time5_img = lv.img(self.meta)
-        # self.watchface1_time5_img.set_pos(int(x+36+36+4+12+36),int(y))
-        # self.watchface1_time5_img.set_size(36,44)
-        # self.watchface1_time5_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_time5_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_1/time/3.png")
-        # self.watchface1_time5_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        # create style self.watchface1_style_default
-
-
-
-
-        self.watchface1_time1_text = lv.label(self.meta)
-        self.watchface1_time1_text.set_pos(20, 60)
-        self.watchface1_time1_text.set_size(190, 71)
-        self.watchface1_time1_text.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_time1_text.set_text("12:00")
-        self.watchface1_time1_text.add_style(style_font_youyuan_70_black, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        #日期
-        self.watchface1_date_span = lv.label(self.meta)
-        self.watchface1_date_span.set_pos(24, 131)
-        self.watchface1_date_span.set_size(84, 30)
-        self.watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_date_span.set_text("12月9日")
-        self.watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #星期
-        self.watchface1_week_span = lv.label(self.meta)
-        self.watchface1_week_span.set_pos(24, 163)
-        self.watchface1_week_span.set_size(70, 30)
-        self.watchface1_week_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_week_span.set_text("星期四")
-        self.watchface1_week_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        #计步
-        # self.watchface1_step_img = lv.img(self.meta)
-        # self.watchface1_step_img.set_pos(int(130),int(160))
-        # self.watchface1_step_img.set_size(26,24)
-        # self.watchface1_step_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_step_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_step_img.set_src("E:/static/watch_plate/style_1/step.png")
-        # self.watchface1_step_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_step_span = lv.label(self.meta)
-        self.watchface1_step_span.set_pos(170, 163)
-        self.watchface1_step_span.set_size(70, 30)
-        self.watchface1_step_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_step_span.set_text("0")
-        self.watchface1_step_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        #心律
-        # self.watchface1_HB_img = lv.img(self.meta)
-        # self.watchface1_HB_img.set_pos(int(53),int(198))
-        # self.watchface1_HB_img.set_size(30,27)
-        # self.watchface1_HB_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_HB_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_HB_img.set_src("E:/static/watch_plate/style_1/heart.png")
-        # self.watchface1_HB_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_HB_span = lv.label(self.meta)
-        self.watchface1_HB_span.set_pos(60, 235)
-        self.watchface1_HB_span.set_size(80, 30)
-        self.watchface1_HB_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_HB_span.set_text("0")
-        self.watchface1_HB_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        #血氧
-        # self.watchface1_SPO2_img = lv.img(self.meta)
-        # self.watchface1_SPO2_img.set_pos(int(161),int(193))
-        # self.watchface1_SPO2_img.set_size(23,32)
-        # self.watchface1_SPO2_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_SPO2_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_SPO2_img.set_src("E:/static/watch_plate/style_1/blood.png")
-        # self.watchface1_SPO2_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        self.watchface1_SPO2_span = lv.label(self.meta)
-        self.watchface1_SPO2_span.set_pos(164, 235)
-        self.watchface1_SPO2_span.set_size(80, 30)
-        self.watchface1_SPO2_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_SPO2_span.set_text("0")
-        self.watchface1_SPO2_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+watchface1_step_span = lv.label(Watchface1)
+watchface1_step_span.set_pos(170, 163)
+watchface1_step_span.set_size(70, 30)
+watchface1_step_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_step_span.set_text("0")
+watchface1_step_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
 
 
-       
 
-    def initialization(self):    
+watchface1_HB_span = lv.label(Watchface1)
+watchface1_HB_span.set_pos(55, 235)
+watchface1_HB_span.set_size(80, 30)
+watchface1_HB_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_HB_span.set_text("0")
+watchface1_HB_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+
+watchface1_SPO2_span = lv.label(Watchface1)
+watchface1_SPO2_span.set_pos(160, 235)
+watchface1_SPO2_span.set_size(80, 30)
+watchface1_SPO2_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface1_SPO2_span.set_text("0")
+watchface1_SPO2_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+class WatchFace1():
+    NAME = "Watchface1"
+    # # #表盘1
+    def __init__(self): 
+        print("Watchface1:__init__")
+        self.meta = Watchface1
+        
+        
+    def initialization(self,main_menu):   
+        print("Watchface1:initialization") 
+        Watchface1.set_parent(main_menu)#设置父控件
         #获取信号
         signal = EventMesh.publish("screen_get_sig")
         if signal:
@@ -237,6 +161,7 @@ class Watchface1():
         step = EventMesh.publish(constants.EVENT.GET_STEP)
         self.__stepValue(None, step[0])
 
+        
     def timerout_update(self):
         #获取信号
         signal = EventMesh.publish("screen_get_sig")
@@ -262,17 +187,10 @@ class Watchface1():
 
     def __time(self, event, msg):
         #时间
-        hour1_chose = (msg[0][0])//10%10
-        hour2_chose = (msg[0][0])%10
-        min1_chose = (msg[0][1])//10%10
-        min2_chose = (msg[0][1])%10
-        self.watchface1_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1])))
-        # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(hour1_chose))
-        # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(hour2_chose))
-        # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(min1_chose))
-        # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_1/time/%d.png"%(min2_chose))
-        self.watchface1_date_span.set_text(msg[2])#日期
-        self.watchface1_week_span.set_text(msg[3])   #星期
+        watchface1_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1])))
+
+        watchface1_date_span.set_text(msg[2])#日期
+        watchface1_week_span.set_text(msg[3])   #星期
 
     def __signal(self, event, msg):
         #print("__signal_cb:",str(msg))
@@ -280,206 +198,220 @@ class Watchface1():
         #print("__signal_cb:{}".format(msg//8))
         if msg:
             if msg >= 0 and msg<=31 :
-                self.watchface_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8))
+                watchface1_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8))
             else :
-                self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") 
+                watchface1_mpsignal_img.set_src("E:/static/mpsignal5.png") 
 
     def __battery(self, event, msg):
         #print("__battery_cb:",str(msg))
         #print(msg)
         if msg[0] == '1':
-            self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
+            watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
         else:
-            self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in1.png")
+            watchface1_res_stat_charge_in_img.set_src("E:/static/charge_in1.png")
 
-        self.watchface_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png"
+        watchface1_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png"
         pass
 
     def __oldHrValue(self, event, msg):
-        self.watchface1_HB_span.set_text(str(msg))
+        watchface1_HB_span.set_text(str(msg))
     
     def __oldSpo2Value(self, event, msg):
-        self.watchface1_SPO2_span.set_text(str(msg))
+        watchface1_SPO2_span.set_text(str(msg))
 
     def __stepValue(self, event, msg):
-        self.watchface1_step_span.set_text(str(msg))
+        watchface1_step_span.set_text(str(msg))
 
+    def Close(self):
+        pass
 
+    def done_left_to_right(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
-class Watchface2():
-    NAME = "Watchface2"
-    # # #表盘1
-    def __init__(self,main_menu): 
-        print("Watchface2:__init__")
-        
-        self.meta = lv.obj(main_menu)
-        self.meta.set_size(240,320)
-        #self.meta.set_pos(0,0)
-        self.meta.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # # create style watchface_default
-        # self.watchface_default = lv.style_t()
-        # self.watchface_default.init()
-        # self.watchface_default.set_bg_color(lv.color_make(0x00,0x00,0x00))
-        # self.watchface_default.set_bg_opa(255)
-        # add style for watchface
-        self.meta.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        # create style style_watchface_img_default
-        self.style_watchface_img_default = lv.style_t()
-        self.style_watchface_img_default.init()
-        self.style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
-        self.style_watchface_img_default.set_img_recolor_opa(0)
-        self.style_watchface_img_default.set_img_opa(255)
+    def done_right_to_left(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+    def done_top_to_bottom(self):
+        EventMesh.publish("load_screen", {"screen": "popup"})
 
-        #表盘
-        
-        label_text = lv.label(self.meta)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("0")
-        #状态栏
-        
-        self.watchface_mpsignal_img = lv.img(self.meta)
-        self.watchface_mpsignal_img.set_pos(int(20),int(0))
-        self.watchface_mpsignal_img.set_size(24,17)
-        self.watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png")
-        self.watchface_mpsignal_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface_res_stat_battery_img = lv.img(self.meta)
-        self.watchface_res_stat_battery_img.set_pos(int(200),int(0))
-        self.watchface_res_stat_battery_img.set_size(30,18)
-        self.watchface_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_res_stat_battery_img.set_src("E:/static/vbat_100.png")
-        self.watchface_res_stat_battery_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface_res_stat_charge_in_img = lv.img(self.meta)
-        self.watchface_res_stat_charge_in_img.set_pos(int(180),int(0))
-        self.watchface_res_stat_charge_in_img.set_size(6,16)
-        self.watchface_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
-        # add style for watchface_res_stat_charge_in_img
-        self.watchface_res_stat_charge_in_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        # #主图片
-        # self.watchface1_bg_img = lv.img(self.meta)
-        # self.watchface1_bg_img.set_pos(int(0),int(40))
-        # self.watchface1_bg_img.set_size(240,280)
-        # self.watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png")
-        # self.watchface1_bg_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #时间
-        x = 25
-        y = 80
-
-
-        self.watchface1_time1_hour1_text = lv.label(self.meta)
-        self.watchface1_time1_hour1_text.set_pos(40, 80)
-        self.watchface1_time1_hour1_text.set_size(50, 70)
-        self.watchface1_time1_hour1_text.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_time1_hour1_text.set_text("1")
-        self.watchface1_time1_hour1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_time1_hour2_text = lv.label(self.meta)
-        self.watchface1_time1_hour2_text.set_pos(90, 80)
-        self.watchface1_time1_hour2_text.set_size(50, 70)
-        self.watchface1_time1_hour2_text.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_time1_hour2_text.set_text("2")
-        self.watchface1_time1_hour2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_time2_min1_text = lv.label(self.meta)
-        self.watchface1_time2_min1_text.set_pos(40, 156)
-        self.watchface1_time2_min1_text.set_size(50, 70)
-        self.watchface1_time2_min1_text.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_time2_min1_text.set_text("0")
-        self.watchface1_time2_min1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_time2_min2_text = lv.label(self.meta)
-        self.watchface1_time2_min2_text.set_pos(90, 156)
-        self.watchface1_time2_min2_text.set_size(50, 70)
-        self.watchface1_time2_min2_text.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_time2_min2_text.set_text("0")
-        self.watchface1_time2_min2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-
-
-        self.watchface1_date_span = lv.label(self.meta)
-        self.watchface1_date_span.set_pos(30+56+20+56, 100)
-        self.watchface1_date_span.set_size(84, 30)
-        self.watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_date_span.set_text("12月9")
-        self.watchface1_date_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
-        #星期
-        # self.watchface1_week = lv.spangroup(self.meta)
-        # self.watchface1_week.set_pos(int(29),int(166))
-        # self.watchface1_week.set_size(80,25)
-        # self.watchface1_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_week.set_align(lv.TEXT_ALIGN.LEFT)
-        # self.watchface1_week.set_overflow(lv.SPAN_OVERFLOW.CLIP)
-        # self.watchface1_week.set_mode(lv.SPAN_MODE.BREAK)
-        # self.watchface1_week_span = self.watchface1_week.new_span()
-        # self.watchface1_week_span.set_text("星期四")
-        # self.watchface1_week_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7))
-        # self.watchface1_week_span.style.set_text_decor(lv.TEXT_DECOR.NONE)
-        # self.watchface1_week.refr_mode()
-        # # add style for main_style_1_spangroup_week
-        # self.watchface1_week.add_style(self.watchface1_style_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
+    def done_bottom_to_top(self):
+        EventMesh.publish("load_screen", {"screen": "call_log"})
 
-        # self.watchface1_week = lv.img(self.meta)
-        # self.watchface1_week.set_pos(int(30+15),int(y+20+56+56+30))
-        # self.watchface1_week.set_size(90,30)
-        # self.watchface1_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_week.set_src("E:/static/watch_plate/style_2/week/0_week.png")
-        # self.watchface1_week.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-        
-        self.watchface1_week_txt = lv.label(self.meta)
-        self.watchface1_week_txt.set_pos(int(30+15),int(y+20+56+56+30))
-        self.watchface1_week_txt.set_size(120,30)
-        self.watchface1_week_txt.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_week_txt.set_text("星期四")
-        self.watchface1_week_txt.add_style(style_font_youyuan_40_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+# create style style_watchface_img_default
+style_watchface_img_default = lv.style_t()
+style_watchface_img_default.init()
+style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
+style_watchface_img_default.set_img_recolor_opa(0)
+style_watchface_img_default.set_img_opa(255)
 
-        
-        #天气
-        self.watchface1_temp_img = lv.img(self.meta)
-        self.watchface1_temp_img.set_pos(int(x+56+56+20),int(y+56+20))
-        self.watchface1_temp_img.set_size(65,45)
-        self.watchface1_temp_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        self.watchface1_temp_img.set_src("E:/static/watch_plate/style_2/0_main2_weather.png")
-        self.watchface1_temp_img.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.watchface1_temp_degree = lv.img(self.meta)
-        # self.watchface1_temp_degree.set_pos(int(x+56+56+65),int(215))
-        # self.watchface1_temp_degree.set_size(10,10)
-        # self.watchface1_temp_degree.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-        # self.watchface1_temp_degree.set_src("E:/static/watch_plate/style_2/degree.png")
-        # self.watchface1_temp_degree.add_style(self.style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        self.watchface1_temp_txt = lv.label(self.meta)
-        self.watchface1_temp_txt.set_pos(int(x+56+56+39),int(215))
-        self.watchface1_temp_txt.set_size(240-(x+56+56+34),30)
-        self.watchface1_temp_txt.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_temp_txt.set_text("00°")
-        self.watchface1_temp_txt.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+Watchface2 = lv.obj(Watchface)
+Watchface2.set_size(240,320)
+#Watchface2.set_pos(0,0)
+Watchface2.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+Watchface2.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
 
+#表盘
 
-       
-        self.watchface1_no_temp_span = lv.label(self.meta)
-        self.watchface1_no_temp_span.set_pos(30+56+56+20, 176)
-        self.watchface1_no_temp_span.set_size(80, 30)
-        self.watchface1_no_temp_span.set_align(lv.TEXT_ALIGN.LEFT)
-        self.watchface1_no_temp_span.set_text("无数据")
-        self.watchface1_no_temp_span.clear_flag(lv.obj.FLAG.HIDDEN)
-        self.watchface1_no_temp_span.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+#状态栏
+
+watchface2_mpsignal_img = lv.img(Watchface2)
+watchface2_mpsignal_img.set_pos(int(20),int(0))
+watchface2_mpsignal_img.set_size(24,17)
+watchface2_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface2_mpsignal_img.set_src("E:/static/mpsignal5.png")
+watchface2_mpsignal_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_res_stat_battery_img = lv.img(Watchface2)
+watchface2_res_stat_battery_img.set_pos(int(200),int(0))
+watchface2_res_stat_battery_img.set_size(30,18)
+watchface2_res_stat_battery_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_res_stat_battery_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface2_res_stat_battery_img.set_src("E:/static/vbat_100.png")
+watchface2_res_stat_battery_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_res_stat_charge_in_img = lv.img(Watchface2)
+watchface2_res_stat_charge_in_img.set_pos(int(180),int(0))
+watchface2_res_stat_charge_in_img.set_size(6,16)
+watchface2_res_stat_charge_in_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_res_stat_charge_in_img.add_flag(lv.obj.FLAG.CLICKABLE)
+watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
+# add style for watchface_res_stat_charge_in_img
+watchface2_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
 
+style_font_youyuan_70_red = lv.style_t()
+style_font_youyuan_70_red.init()
+style_font_youyuan_70_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29))
+style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
+#时间
+x = 30
+y = 80
+watchface2_time1_hour1_text = lv.label(Watchface2)
+watchface2_time1_hour1_text.set_pos(40, 80)
+watchface2_time1_hour1_text.set_size(50, 70)
+watchface2_time1_hour1_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time1_hour1_text.set_text("1")
+watchface2_time1_hour1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_time1_hour2_text = lv.label(Watchface2)
+watchface2_time1_hour2_text.set_pos(90, 80)
+watchface2_time1_hour2_text.set_size(50, 70)
+watchface2_time1_hour2_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time1_hour2_text.set_text("2")
+watchface2_time1_hour2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_time2_min1_text = lv.label(Watchface2)
+watchface2_time2_min1_text.set_pos(40, 156)
+watchface2_time2_min1_text.set_size(50, 70)
+watchface2_time2_min1_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time2_min1_text.set_text("0")
+watchface2_time2_min1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_time2_min2_text = lv.label(Watchface2)
+watchface2_time2_min2_text.set_pos(90, 156)
+watchface2_time2_min2_text.set_size(50, 70)
+watchface2_time2_min2_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time2_min2_text.set_text("0")
+watchface2_time2_min2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+# create style watchface2_style_default
+watchface2_style_default = lv.style_t()
+watchface2_style_default.init()
+watchface2_style_default.set_radius(0)
+watchface2_style_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
+watchface2_style_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
+watchface2_style_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
+watchface2_style_default.set_bg_opa(0)
+watchface2_style_default.set_border_color(lv.color_make(0x00,0x00,0x00))
+watchface2_style_default.set_border_width(0)
+watchface2_style_default.set_border_opa(255)
+watchface2_style_default.set_pad_left(0)
+watchface2_style_default.set_pad_right(0)
+watchface2_style_default.set_pad_top(0)
+watchface2_style_default.set_pad_bottom(0)
+watchface2_style_default.set_text_font_v2("font_22.bin",22,0) #将外部字体库与该style对象绑定
+
+
+#日期
+watchface2_date = lv.spangroup(Watchface2)
+watchface2_date.set_pos(int(30+56+20+56),int(100))
+watchface2_date.set_size(84,25)
+watchface2_date.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_date.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_date.set_overflow(lv.SPAN_OVERFLOW.CLIP)
+watchface2_date.set_mode(lv.SPAN_MODE.BREAK)
+watchface2_date_span = watchface2_date.new_span()
+watchface2_date_span.set_text("12月9")
+watchface2_date_span.style.set_text_color(lv.color_make(0xe0,0xd7,0xd7))
+watchface2_date_span.style.set_text_decor(lv.TEXT_DECOR.NONE)
+watchface2_date_span.style.set_size(100)
+watchface2_date.refr_mode()
+
+# add style for main_style_1_spangroup_date
+watchface2_date.add_style(watchface2_style_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+#星期
+
+
+watchface2_week = lv.img(Watchface2)
+watchface2_week.set_pos(int(30+15),int(y+20+56+56+30))
+watchface2_week.set_size(90,30)
+watchface2_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_week.set_src("E:/static/watch_plate/style_2/week/0_week.png")
+watchface2_week.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+
+#天气
+watchface2_temp_img = lv.img(Watchface2)
+watchface2_temp_img.set_pos(int(x+56+56+20),int(y+56+20))
+watchface2_temp_img.set_size(65,45)
+watchface2_temp_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_temp_img.set_src("E:/static/watch_plate/style_2/0_main2_weather.png")
+watchface2_temp_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_temp_degree = lv.img(Watchface2)
+watchface2_temp_degree.set_pos(int(x+56+56+65),int(215))
+watchface2_temp_degree.set_size(10,10)
+watchface2_temp_degree.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_temp_degree.set_src("E:/static/watch_plate/style_2/degree.png")
+watchface2_temp_degree.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_temp_txt = lv.label(Watchface2)
+watchface2_temp_txt.set_pos(int(x+56+56+39),int(215))
+watchface2_temp_txt.set_size(240-(x+56+56+34),30)
+watchface2_temp_txt.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_temp_txt.set_text("00")
+watchface2_temp_txt.add_style(style_font_youyuan_20, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+
+watchface2_no_temp_txt = lv.spangroup(Watchface2)
+watchface2_no_temp_txt.set_pos(int(30+56+56+20),int(176))
+watchface2_no_temp_txt.set_size(80,30)
+watchface2_no_temp_txt.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+watchface2_no_temp_txt.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_no_temp_txt.set_overflow(lv.SPAN_OVERFLOW.CLIP)
+watchface2_no_temp_txt.set_mode(lv.SPAN_MODE.BREAK)
+watchface2_no_temp_span = watchface2_no_temp_txt.new_span()
+watchface2_no_temp_span.set_text("无数据")
+watchface2_no_temp_span.style.set_text_color(lv.color_make(0xee,0xe7,0xe7))
+watchface2_no_temp_span.style.set_text_decor(lv.TEXT_DECOR.NONE)
+#watchface2_week_step_span.style.set_text_font(lv.font_harmony_19)
+watchface2_no_temp_txt.refr_mode()
+watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN)
+# add style for main_style_1_spangroup_week
+watchface2_no_temp_txt.add_style(watchface2_style_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+class WatchFace2():
+    NAME = "Watchface2"
+    # # #表盘2
+    def __init__(self): 
+        print("Watchface2:__init__")
+        self.meta = Watchface2
 
-    def initialization(self):    
+
+    def initialization(self,main_menu):  
+        print("Watchface2:initialization")
+        Watchface2.set_parent(main_menu)#设置父控件  
         #获取信号
         signal = EventMesh.publish("screen_get_sig")
         if signal:
@@ -509,13 +441,11 @@ class Watchface2():
                     self.__weather_value(None,None)
                 else:
                    self.__weather_value(None,temp)
-            else:
-                self.__weather_type(None,None)
-                self.__weather_value(None,None)
         else:
             self.__weather_type(None,None)
             self.__weather_value(None,None)
 
+
     def timerout_update(self):
         #获取信号
         signal = EventMesh.publish("screen_get_sig")
@@ -543,14 +473,10 @@ class Watchface2():
                     self.__weather_type(None,type)
 
                 temp = self.weather_data[4]
-
                 if temp == None:
                     self.__weather_value(None,None)
                 else:
                    self.__weather_value(None,temp)
-            else:
-                self.__weather_type(None,None)
-                self.__weather_value(None,None)
         else:
             self.__weather_type(None,None)
             self.__weather_value(None,None)
@@ -561,20 +487,13 @@ class Watchface2():
         hour2_chose = (msg[0][0])%10
         min1_chose = (msg[0][1])//10%10
         min2_chose = (msg[0][1])%10
-        # self.watchface1_time1_text.set_text("{}".format("%02d"%(msg[0][0])))
-        # self.watchface1_time2_text.set_text("{}".format("%02d"%(msg[0][1])))
-        self.watchface1_time1_hour1_text.set_text("{}".format("%d"%(hour1_chose)))
-        self.watchface1_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose)))
-        self.watchface1_time2_min1_text.set_text("{}".format("%d"%(min1_chose)))
-        self.watchface1_time2_min2_text.set_text("{}".format("%d"%(min2_chose)))
-
-        # self.watchface1_time1_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(hour1_chose))
-        # self.watchface1_time2_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(hour2_chose))
-        # self.watchface1_time4_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(min1_chose))
-        # self.watchface1_time5_img.set_src("E:/static/watch_plate/style_2/time/%d.png"%(min2_chose))
-        self.watchface1_date_span.set_text(msg[2])#日期
-        self.watchface1_week_txt.set_text(msg[3])
-        # self.watchface1_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5]))   #星期
+        # watchface2_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1])))
+        watchface2_time1_hour1_text.set_text("{}".format("%d"%(hour1_chose)))
+        watchface2_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose)))
+        watchface2_time2_min1_text.set_text("{}".format("%d"%(min1_chose)))
+        watchface2_time2_min2_text.set_text("{}".format("%d"%(min2_chose)))
+        watchface2_date_span.set_text(msg[2])#日期
+        watchface2_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5]))   #星期
 
     def __signal(self, event, msg):
         #print("__signal_cb:",str(msg))
@@ -582,55 +501,65 @@ class Watchface2():
         #print("__signal_cb:{}".format(msg//8))
         if msg:
             if msg >= 0 and msg<=31 :
-                self.watchface_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8))
+                watchface2_mpsignal_img.set_src("E:/static/mpsignal{}.png".format(msg//8))
             else :
-                self.watchface_mpsignal_img.set_src("E:/static/mpsignal5.png") 
+                watchface2_mpsignal_img.set_src("E:/static/mpsignal5.png") 
 
     def __battery(self, event, msg):
         #print("__battery_cb:",str(msg))
         #print(msg)
         if msg[0] == '1':
-            self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
+            watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in.png")
         else:
-            self.watchface_res_stat_charge_in_img.set_src("E:/static/charge_in1.png")
+            watchface2_res_stat_charge_in_img.set_src("E:/static/charge_in1.png")
 
-        self.watchface_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png"
+        watchface2_res_stat_battery_img.set_src("E:/static/vbat_%d.png"%(msg[1]))#"E:/vbat_60.png"
         pass
 
     def __weather_type(self, event, msg):
         if msg == None:
-            self.watchface1_temp_img.add_flag(lv.obj.FLAG.HIDDEN)
-            self.watchface1_no_temp_span.clear_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_img.add_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_no_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN)
         else:
             type = int(msg)
-            self.watchface1_no_temp_span.add_flag(lv.obj.FLAG.HIDDEN)
-            self.watchface1_temp_img.clear_flag(lv.obj.FLAG.HIDDEN)
-            self.watchface1_temp_img.set_src("E:/static/watch_plate/style_2/%d_main2_weather.png"%(type))
+            watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_img.clear_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_img.set_src("E:/static/watch_plate/style_2/%d_main2_weather.png"%(type))
     
     def __weather_value(self, event, msg):
         if msg == None:
-            # self.watchface1_temp_degree.add_flag(lv.obj.FLAG.HIDDEN)
-            self.watchface1_temp_txt.add_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_degree.add_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_no_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_txt.add_flag(lv.obj.FLAG.HIDDEN)
         else:
-            self.watchface1_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN)
-            # self.watchface1_temp_degree.clear_flag(lv.obj.FLAG.HIDDEN)
-            self.watchface1_temp_txt.set_text(str(msg)+"°")
-        
+            watchface2_no_temp_txt.add_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_txt.clear_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_degree.clear_flag(lv.obj.FLAG.HIDDEN)
+            watchface2_temp_txt.set_text(str(msg))
+
+    def Close(self):
+        pass  
 
+    def done_left_to_right(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+    def done_right_to_left(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+    def done_top_to_bottom(self):
+        EventMesh.publish("load_screen", {"screen": "popup"})
 
+    def done_bottom_to_top(self):
+        EventMesh.publish("load_screen", {"screen": "call_log"})
 
 class WatchFace():
-    NAME = "main_menu"
+    #NAME = "Watchface"
 
-    def __init__(self,main_menu):
+    def __init__(self):
         #表盘
-        self.watchface_list = []
         self.meta = None
         self.watchface_style_num = "Watchface1"
+        self.watchface_list = []
         self.timer_update = osTimer()
-        self.main_menu = main_menu
-        self.watchface_style = "Watchface1"
         EventMesh.subscribe("set_change_face", self.change_face)
         self.read_data = {}
         self.PWM_backlight  = None
@@ -647,38 +576,54 @@ class WatchFace():
         else:
             self.watchface_style_num = "Watchface1"
 
-    def initialization(self):
-        print("watchface INIT !!!!!!!!:",self.watchface_style_num)
+    def initialization(self,main_menu):
         if self.watchface_list == [] : #第一次初始化
-            self.watchface_list.append( Watchface1(self.main_menu))
-            self.watchface_list.append( Watchface2(self.main_menu))
+            self.watchface_list.append( WatchFace1())
+            self.watchface_list.append( WatchFace2())
+        print("watchface INIT !!!!!!!!:",self.watchface_style_num)
         for wat in self.watchface_list:
             if wat.NAME == self.watchface_style_num :
                 self.watchface_style = wat
-            wat.meta.add_flag(lv.obj.FLAG.HIDDEN)    #隐藏
+                wat.meta.add_flag(lv.obj.FLAG.HIDDEN)    #隐藏
+        self.watchface_style.initialization(main_menu)
         self.meta = self.watchface_style.meta
         self.watchface_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示
-        self.watchface_style.initialization()
         self.timer_update.start(10000, 1, self.timerout_update)
-        
+
+    def timerout_update(self, *args, **kwargs):
+        self.watchface_style.timerout_update()
 
     def change_face(self, event=None, msg=None):
         print("change_face :",msg)
-
         self.watchface_style_num = str(msg)
-        for wat in self.watchface_list:
-            if wat.NAME == self.watchface_style_num :
-                self.watchface_style = wat
-            wat.meta.add_flag(lv.obj.FLAG.HIDDEN)    #隐藏
-        self.meta = self.watchface_style.meta
-        self.watchface_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示
-        self.watchface_style.initialization()
 
-    def timerout_update(self, *args, **kwargs):
-        self.watchface_style.timerout_update()
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+    # def done_left_to_right(self):
+    #     EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+    # def done_right_to_left(self):
+    #     EventMesh.publish("load_screen", {"screen": "main_menu"})
+    # def done_top_to_bottom(self):
+    #     EventMesh.publish("load_screen", {"screen": "popup"})
+
+    # def done_bottom_to_top(self):
+    #     EventMesh.publish("load_screen", {"screen": "call_log"})
+    # def done_return(self):
+    #     EventMesh.publish("load_screen", {"screen": "Watchface"})
+       
+    # def btn1_release(self):
+    #     EventMesh.publish("load_screen", {"screen": "Watchface"})
         
+    # def btn8_press(self):
+    #     EventMesh.publish("load_screen", {"screen": "Watchface"})
+
     def Close(self):
         print("watchface Close !!!!!!!!")
         self.timer_update.stop()
+        self.watchface_style.Close()
         return
+    
+
+
  
index 4710755..145b9d9 100644 (file)
@@ -44,93 +44,298 @@ style_btn.set_shadow_opa(0)
 style_btn.set_border_width(0)
 
 
-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)
+# MainMenu = lv.obj()
+# class MainMenuScreen(Screen):
+#     NAME = "main_menu"
+
+#     def __init__(self):
+#         super().__init__()
+#         #主菜单
+#         self.meta = MainMenu
+#         self.main_menu_style_num = "MainMenu2"
+
+#     def initialization(self):
+#         print("main_menu INIT !!!!!!!!")
+#         EventMesh.publish("load_screen", {"screen": self.main_menu_style_num})
+
+
+#     def post_processor_after_instantiation(self):
+#         EventMesh.subscribe("change_style", self.change_style)
+
+        
+#     def change_style(self, event=None, msg=None): #换风格
+#         self.main_menu_style_num = msg
+#         EventMesh.publish("load_screen", {"screen": self.main_menu_style_num})
+
+#     def Close(self):
+#         return
+
+
+#     def done_return(self):
+#         EventMesh.publish("load_screen", {"screen": "Watchface"})
+       
+#     def btn1_release(self):
+#         EventMesh.publish("load_screen", {"screen": "Watchface"})
+        
+#     def btn8_press(self):
+#         EventMesh.publish("load_screen", {"screen": "Watchface"})
+
+
+
+    
+
+
+MainMenu2 = lv.obj()
+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)
+label_text = lv.label(MainMenu2_Watchface)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("0")
+#支付宝
+MainMenu2_alipay = MainMenu2_til.add_tile(0, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+label_text = lv.label(MainMenu2_alipay)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("1")
+MainMenu2_img_alipay = lv.img(MainMenu2_alipay)
+MainMenu2_img_alipay.set_size(160,160)
+MainMenu2_img_alipay.set_pos(40,20)
+MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/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_img_alipay_text = lv.img(MainMenu2_alipay)
+MainMenu2_img_alipay_text.set_size(160,39)
+MainMenu2_img_alipay_text.set_pos(40,210)
+MainMenu2_img_alipay_text.set_src("E:/static/main_menu/main_menu2/alipay_TEXT.png")
+MainMenu2_img_alipay_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_alipay_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+# 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)
+label_text = lv.label(MainMenu2_phone)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("2")
+MainMenu2_img_phone = lv.img(MainMenu2_phone)
+MainMenu2_img_phone.set_size(160,160)
+MainMenu2_img_phone.set_pos(40,20)
+MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.png")
+MainMenu2_img_phone.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_phone.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_phone_text = lv.img(MainMenu2_phone)
+MainMenu2_img_phone_text.set_size(160,39)
+MainMenu2_img_phone_text.set_pos(40,210)
+MainMenu2_img_phone_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL_TEXT.png")
+MainMenu2_img_phone_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_phone_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#通讯录
+MainMenu2_contacts = MainMenu2_til.add_tile(2, 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")
+MainMenu2_img_contacts = lv.img(MainMenu2_contacts)
+MainMenu2_img_contacts.set_size(160,160)
+MainMenu2_img_contacts.set_pos(40,20)
+MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.png")
+MainMenu2_img_contacts.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_contacts.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_contacts_text = lv.img(MainMenu2_contacts)
+MainMenu2_img_contacts_text.set_size(160,39)
+MainMenu2_img_contacts_text.set_pos(40,210)
+MainMenu2_img_contacts_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS_TEXT.png")
+MainMenu2_img_contacts_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_contacts_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#心律检测
+MainMenu2_heartrate = MainMenu2_til.add_tile(3, 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("4")
+MainMenu2_img_heartrate = lv.img(MainMenu2_heartrate)
+MainMenu2_img_heartrate.set_size(160,160)
+MainMenu2_img_heartrate.set_pos(40,20)
+MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png")
+MainMenu2_img_heartrate.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_heartrate.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_heartrate_text = lv.img(MainMenu2_heartrate)
+MainMenu2_img_heartrate_text.set_size(160,39)
+MainMenu2_img_heartrate_text.set_pos(40,210)
+MainMenu2_img_heartrate_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT_TEXT.png")
+MainMenu2_img_heartrate_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_heartrate_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#血样检测
+MainMenu2_spo2 = MainMenu2_til.add_tile(4, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+label_text = lv.label(MainMenu2_spo2)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("5")
+MainMenu2_img_spo2 = lv.img(MainMenu2_spo2)
+MainMenu2_img_spo2.set_size(160,160)
+MainMenu2_img_spo2.set_pos(40,20)
+MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.png")
+MainMenu2_img_spo2.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_spo2.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_spo2_text = lv.img(MainMenu2_spo2)
+MainMenu2_img_spo2_text.set_size(160,39)
+MainMenu2_img_spo2_text.set_pos(40,210)
+MainMenu2_img_spo2_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT_TEXT.png")
+MainMenu2_img_spo2_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_spo2_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#工具箱
+MainMenu2_toolbox = MainMenu2_til.add_tile(5, 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("6")
+MainMenu2_img_toolbox = lv.img(MainMenu2_toolbox)
+MainMenu2_img_toolbox.set_size(160,160)
+MainMenu2_img_toolbox.set_pos(40,20)
+MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.png")
+MainMenu2_img_toolbox.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_toolbox.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_toolbox_text = lv.img(MainMenu2_toolbox)
+MainMenu2_img_toolbox_text.set_size(160,39)
+MainMenu2_img_toolbox_text.set_pos(40,210)
+MainMenu2_img_toolbox_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS_TEXT.png")
+MainMenu2_img_toolbox_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_toolbox_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#设置
+MainMenu2_setting = MainMenu2_til.add_tile(6, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+label_text = lv.label(MainMenu2_setting)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("7")
+MainMenu2_img_setting = lv.img(MainMenu2_setting)
+MainMenu2_img_setting.set_size(160,160)
+MainMenu2_img_setting.set_pos(40,20)
+MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.png")
+MainMenu2_img_setting.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_setting.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_setting_text = lv.img(MainMenu2_setting)
+MainMenu2_img_setting_text.set_size(160,39)
+MainMenu2_img_setting_text.set_pos(40,210)
+MainMenu2_img_setting_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS_TEXT.png")
+MainMenu2_img_setting_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_setting_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#体温测量
+MainMenu2_temperature = MainMenu2_til.add_tile(7, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
+label_text = lv.label(MainMenu2_temperature)
+label_text.set_pos(0, 240)
+label_text.set_size(0, 0)
+label_text.set_text("8")
+MainMenu2_img_temperature = lv.img(MainMenu2_temperature)
+MainMenu2_img_temperature.set_size(160,160)
+MainMenu2_img_temperature.set_pos(40,20)
+MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.png")
+MainMenu2_img_temperature.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_temperature.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_temperature_text = lv.img(MainMenu2_temperature)
+MainMenu2_img_temperature_text.set_size(160,39)
+MainMenu2_img_temperature_text.set_pos(40,210)
+MainMenu2_img_temperature_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE_TEXT.png")
+MainMenu2_img_temperature_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_temperature_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+#微聊
+MainMenu2_wechat = MainMenu2_til.add_tile(8, 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("9")
+MainMenu2_img_wechat = lv.img(MainMenu2_wechat)
+MainMenu2_img_wechat.set_size(160,160)
+MainMenu2_img_wechat.set_pos(40,20)
+MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.png")
+MainMenu2_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+MainMenu2_img_wechat_text = lv.img(MainMenu2_wechat)
+MainMenu2_img_wechat_text.set_size(160,39)
+MainMenu2_img_wechat_text.set_pos(40,210)
+MainMenu2_img_wechat_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT_TEXT.png")
+MainMenu2_img_wechat_text.add_flag(lv.obj.FLAG.CLICKABLE)
+MainMenu2_img_wechat_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 from ext.ui_WatchFaceScreen import WatchFace
+#主菜单风格2,单页
 class MainMenuScreen(Screen):
     NAME = "main_menu"
-
-    def __init__(self):
-        super().__init__()
-        #主菜单
-        self.main_menu_list = []
-        self.meta = None
-        self.button_state = 0
-        self.main_menu_style_num = "MainMenu2"
-        self.main_menu_WatchFace = None
-        EventMesh.subscribe("watch_top_show", self.watch_top_show)
+    def __init__(self): 
+        self.meta = MainMenu2
+        self.watchface = WatchFace()
+        self.menu_id = 0
+        print("MainMenu1:__init__")    
+        MainMenu2_img_phone.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_heartrate.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_contacts.add_event_cb(lambda e: self.img_cb(e,  "contacts"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_temperature.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None)
+        MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None)
+        #MainMenu2_img_alipay.add_event_cb(lambda e: img_cb(e, "Watchface_set"), lv.EVENT.CLICKED, None)
+        MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF) 
     def initialization(self):
-        print("main_menu INIT !!!!!!!!")
-        init_flag = False
-        self.button_state = 0
-        if self.main_menu_list == [] : #第一次初始化
-            #self.main_menu_list.append( MainMenu1())
-            self.main_menu_list.append( MainMenu2())
-            init_flag = True
-        for menu in self.main_menu_list:
-            if menu.NAME == self.main_menu_style_num :
-                self.main_menu_style = menu
-            menu.meta.add_flag(lv.obj.FLAG.HIDDEN)    #隐藏
-
-        self.main_menu_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示
-        if self.main_menu_WatchFace == None : #加载表盘
-            self.main_menu_WatchFace = WatchFace(self.main_menu_style.MainMenu_Watchface)
-        self.main_menu_WatchFace.initialization()#初始化表盘
-        self.meta = self.main_menu_style.meta
-        self.main_menu_style.initialization()#初始化菜单
-        if init_flag == True :
-            self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
-
-    def post_processor_after_instantiation(self):
-        EventMesh.subscribe("change_style", self.change_style)
+        self.watchface.initialization(MainMenu2_Watchface)
+        EventMesh.subscribe("watch_top_show", self.watch_top_show)
+        # if self.meta_info in globals() :
+        #     MainMenu2_til.set_tile_id(self.meta_info[0],self.meta_info[1],lv.ANIM.OFF)    
+        pass#
 
     def watch_top_show(self, event, msg): #
-        self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
+        MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF)  
         
-    def change_style(self, event=None, msg=None): #换风格
-        print("change style :",msg)
-        self.Close()
-        self.main_menu_WatchFace.delete()
-        self.main_menu_style_num = msg
-        for menu in self.main_menu_list:
-            if menu.NAME == self.main_menu_style_num :
-                self.main_menu_style = menu
-            menu.meta.add_flag(lv.obj.FLAG.HIDDEN)    #隐藏
-
-        self.main_menu_style.meta.clear_flag(lv.obj.FLAG.HIDDEN)#显示
-
-        self.main_menu_WatchFace = WatchFace(self.main_menu_style.MainMenu_Watchface)
-        self.main_menu_WatchFace.initialization()#初始化表盘
-        self.meta = self.main_menu_style.meta
-        self.main_menu_style.initialization()#初始化菜单
-        self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
-    def Close(self):
-        self.main_menu_WatchFace.Close()
-        print("main_menu Close !!!!!!!!")
-        return
-
+    def img_cb(self, e, msg):
+        print("MainMenu2:img_cb:{}".format(msg))
+        EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
 
     def done_return(self):
-        self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
+        MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF)
        
     def btn1_release(self):
         flag = EventMesh.publish("get_lcd_state")
         if flag == 0:
             EventMesh.publish(constants.EVENT.SYSTEM_UP)
         else:
-            if self.main_menu_style.MainMenu.get_tile_act() != None:
-                id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+            if MainMenu2_til.get_tile_act() != None:
+                id = MainMenu2_til.get_tile_act().get_child(0).get_text()
                 if id != "0":
-                    self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
+                    MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
                 
         
     def btn8_press(self):
         flag = EventMesh.publish("get_lcd_state")
-        if self.main_menu_style.MainMenu.get_tile_act() != None:
-            id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+        if MainMenu2_til.get_tile_act() != None:
+            id = MainMenu2_til.get_tile_act().get_child(0).get_text()
             if id == "0":
                 if flag == 1:
                     EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
@@ -138,578 +343,43 @@ class MainMenuScreen(Screen):
                     EventMesh.publish(constants.EVENT.SYSTEM_UP)
             else:
                 if flag == 1:
-                    self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
+                    MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
                 else:
                     EventMesh.publish(constants.EVENT.SYSTEM_UP)
         else:
             if flag == 1:
-                self.main_menu_style.MainMenu.set_tile_id(0,1,lv.ANIM.OFF)
+                MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
             else:
                 EventMesh.publish(constants.EVENT.SYSTEM_UP)
 
     def done_bottom_to_top(self):
-        id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+        id = MainMenu2_til.get_tile_act().get_child(0).get_text()
         if id == "0":
             EventMesh.publish("load_screen", {"screen": "call_log"})
 
     def done_top_to_bottom(self):
-        id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+        id = MainMenu2_til.get_tile_act().get_child(0).get_text()
         if id == "0":
             EventMesh.publish("load_screen", {"screen": "popup"})
     def done_left_to_right(self):
-        id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+        id = MainMenu2_til.get_tile_act().get_child(0).get_text()
         print("done_left_to_right:ID{}".format(id))
         if id == "0":
-            self.main_menu_style.MainMenu.set_tile_id(8,0,lv.ANIM.OFF)
+            MainMenu2_til.set_tile_id(8,0,lv.ANIM.OFF)
         elif self.menu_id != '2' and id == '1':
-            self.main_menu_style.MainMenu.set_tile_id(8,0,lv.ANIM.OFF)
+            MainMenu2_til.set_tile_id(8,0,lv.ANIM.OFF) 
         self.menu_id = id
     def done_right_to_left(self):
-        id = self.main_menu_style.MainMenu.get_tile_act().get_child(0).get_text()
+        id = MainMenu2_til.get_tile_act().get_child(0).get_text()
         print("done_right_to_left:ID{}".format(id))
         if id == "0":
-            self.main_menu_style.MainMenu.set_tile_id(0,0,lv.ANIM.OFF)
+            MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
         elif (self.menu_id != '8' ) and id == '9':
-            self.main_menu_style.MainMenu.set_tile_id(0,0,lv.ANIM.OFF)
+            MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
         self.menu_id = id   
-#主菜单风格1,四宫格
-class MainMenu1():
-    NAME = "MainMenu1"
-    def __init__(self): 
-        print("MainMenuSquare:__init__")    
-        self.meta = lv.obj()
-        self.MainMenu = lv.tileview(self.meta)
-        self.MainMenu.set_scrollbar_mode(0)
-        self.MainMenu.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        #第一页
-        self.MainMenu1_1 = self.MainMenu.add_tile(0, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-        # #闹钟
-        self.MainMenu1_img_alarm = lv.btn(self.MainMenu1_1)
-        self.MainMenu1_img_alarm.set_size(70, 70)
-        self.MainMenu1_img_alarm.set_pos(30,60)
-        self.MainMenu1_img_alarm.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_alarm.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
-
-        # #支付宝
-        self.MainMenu1_img_ali = lv.btn(self.MainMenu1_1)
-        self.MainMenu1_img_ali.set_size(70, 70)
-        self.MainMenu1_img_ali.set_pos(140,60)
-        self.MainMenu1_img_ali.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_ali.add_event_cb(lambda e: self.img_cb(e,  "alipay_open"), lv.EVENT.CLICKED, None)
-
-        # #拍照
-        self.MainMenu1_img_camera = lv.btn(self.MainMenu1_1)
-        self.MainMenu1_img_camera.set_size(70, 70)
-        self.MainMenu1_img_camera.set_pos(30,190)
-        self.MainMenu1_img_camera.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_camera.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
-
-        # #倒计时
-        self.MainMenu1_img_countdown = lv.btn(self.MainMenu1_1)
-        self.MainMenu1_img_countdown.set_size(70, 70)
-        self.MainMenu1_img_countdown.set_pos(140,190)
-        self.MainMenu1_img_countdown.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_countdown.add_event_cb(lambda e: self.img_cb(e,  "countdown"), lv.EVENT.CLICKED, None)
-
-        #第一页图片
-        self.MainMenu1_1_img = lv.img(self.MainMenu1_1)
-        self.MainMenu1_1_img.set_size(240, 200)
-        self.MainMenu1_1_img.set_pos(0,60)
-        self.MainMenu1_1_img.set_src("E:/static/main_menu/main_menu1/4-1.png")
-        self.MainMenu1_1_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-
-
-
-        #第二页
-        self.MainMenu1_2 = self.MainMenu.add_tile(1, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-        # #通话
-        self.MainMenu1_img_call = lv.btn(self.MainMenu1_2)
-        self.MainMenu1_img_call.set_size(70, 70)
-        self.MainMenu1_img_call.set_pos(30,60)
-        self.MainMenu1_img_call.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_call.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
-
-        # #心率
-        self.MainMenu1_img_hr = lv.btn(self.MainMenu1_2)
-        self.MainMenu1_img_hr.set_size(70, 70)
-        self.MainMenu1_img_hr.set_pos(140,60)
-        self.MainMenu1_img_hr.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_hr.add_event_cb(lambda e: self.img_cb(e,  "heartrate"), lv.EVENT.CLICKED, None)
-
-        # #血氧
-        self.MainMenu1_img_spo2 = lv.btn(self.MainMenu1_2)
-        self.MainMenu1_img_spo2.set_size(70, 70)
-        self.MainMenu1_img_spo2.set_pos(30,190)
-        self.MainMenu1_img_spo2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-
-        self.MainMenu1_img_spo2.add_event_cb(lambda e: self.img_cb(e,  "spo2"), lv.EVENT.CLICKED, None)
-
-        # #短信
-        self.MainMenu1_img_sms = lv.btn(self.MainMenu1_2)
-        self.MainMenu1_img_sms.set_size(70, 70)
-        self.MainMenu1_img_sms.set_pos(140,190)
-        self.MainMenu1_img_sms.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-
-        self.MainMenu1_img_sms.add_event_cb(lambda e: self.img_cb(e,  "popup"), lv.EVENT.CLICKED, None)
-
-        #第二页图片
-        self.MainMenu1_2_img = lv.img(self.MainMenu1_2)
-        self.MainMenu1_2_img.set_size(240, 200)
-        self.MainMenu1_2_img.set_pos(0,60)
-        self.MainMenu1_2_img.set_src("E:/static/main_menu/main_menu1/4-2.png")
-        self.MainMenu1_2_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #第三页
-        self.MainMenu1_3 = self.MainMenu.add_tile(2, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-        #第三页图片
-        self.MainMenu1_3_img = lv.img(self.MainMenu1_3)
-        self.MainMenu1_3_img.set_size(240, 200)
-        self.MainMenu1_3_img.set_pos(0,60)
-        self.MainMenu1_3_img.set_src("E:/static/main_menu/main_menu1/4-3.png")
-        self.MainMenu1_3_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        # #通讯录
-        self.MainMenu1_img_contacts = lv.btn(self.MainMenu1_3)
-        self.MainMenu1_img_contacts.set_size(70, 70)
-        self.MainMenu1_img_contacts.set_pos(30,60)
-        self.MainMenu1_img_contacts.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_contacts.add_event_cb(lambda e: self.img_cb(e,  "contacts"), lv.EVENT.CLICKED, None)
-        
-        # #照片
-        self.MainMenu1_img_photo = lv.btn(self.MainMenu1_3)
-        self.MainMenu1_img_photo.set_size(70, 70)
-        self.MainMenu1_img_photo.set_pos(140,60)
-        self.MainMenu1_img_photo.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_photo.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
-
-        # #设置
-        self.MainMenu1_img_setting = lv.btn(self.MainMenu1_3)
-        self.MainMenu1_img_setting.set_size(70, 70)
-        self.MainMenu1_img_setting.set_pos(30,190)
-        self.MainMenu1_img_setting.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)        
-        self.MainMenu1_img_setting.add_event_cb(lambda e: self.img_cb(e,  "setting"), lv.EVENT.CLICKED, None)
-
-        # #步数
-        self.MainMenu1_img_steps = lv.btn(self.MainMenu1_3)
-        self.MainMenu1_img_steps.set_size(70, 70)
-        self.MainMenu1_img_steps.set_pos(30,190)
-        self.MainMenu1_img_steps.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.MainMenu1_img_steps.add_event_cb(lambda e: self.img_cb(e,  "step"), lv.EVENT.CLICKED, None)
-
-        #第四页
-        self.MainMenu1_4 = self.MainMenu.add_tile(3, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-        #第四页图片
-        self.MainMenu1_4_img = lv.img(self.MainMenu1_4)
-        self.MainMenu1_4_img.set_size(240, 200)
-        self.MainMenu1_4_img.set_pos(0,60)
-        self.MainMenu1_4_img.set_src("E:/static/main_menu/main_menu1/4-4.png")
-        self.MainMenu1_4_img.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        # #秒表
-        self.MainMenu1_img_stopwatch = lv.btn(self.MainMenu1_4)
-        self.MainMenu1_img_stopwatch.set_size(70, 70)
-        self.MainMenu1_img_stopwatch.set_pos(30,60)
-        self.MainMenu1_img_stopwatch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.MainMenu1_img_stopwatch.add_event_cb(lambda e: self.img_cb(e,  "stopwatch"), lv.EVENT.CLICKED, None)
-
-        # #天气
-        self.MainMenu1_img_weather = lv.btn(self.MainMenu1_4)
-        self.MainMenu1_img_weather.set_size(70, 70)
-        self.MainMenu1_img_weather.set_pos(140,60)
-        self.MainMenu1_img_weather.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.MainMenu1_img_weather.add_event_cb(lambda e: self.img_cb(e,  "weather"), lv.EVENT.CLICKED, None)
-
-        # #工具箱
-        self.MainMenu1_img_toolbox = lv.btn(self.MainMenu1_4)
-        self.MainMenu1_img_toolbox.set_size(70, 70)
-        self.MainMenu1_img_toolbox.set_pos(30,190)
-        self.MainMenu1_img_toolbox.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.MainMenu1_img_toolbox.add_event_cb(lambda e: self.img_cb(e,  "toolbox"), lv.EVENT.CLICKED, None)
-    
-
-        # #温度
-        self.MainMenu1_img_tem = lv.btn(self.MainMenu1_4)
-        self.MainMenu1_img_tem.set_size(70, 70)
-        self.MainMenu1_img_tem.set_pos(140,190)
-        self.MainMenu1_img_tem.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.MainMenu1_img_tem.add_event_cb(lambda e: self.img_cb(e,  "temperature"), lv.EVENT.CLICKED, None)
-        
-        #第五页
-        self.MainMenu1_5 = self.MainMenu.add_tile(4, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-
-        #微聊
-        self.MainMenu1_img_wechat = lv.img(self.MainMenu1_5)
-        self.MainMenu1_img_wechat.set_size(70, 70)
-        self.MainMenu1_img_wechat.set_pos(30,60)
-        self.MainMenu1_img_wechat.set_src("E:/static/main_menu/main_menu1/IMAGE_MAINMENU_WECHAT.png")
-        self.MainMenu1_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu1_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.MainMenu1_img_wechat.add_event_cb(lambda e: self.img_cb(e,  "wechat"), lv.EVENT.CLICKED, None)
-
-        
-    def initialization(self):
-        pass
-    def img_cb(self, e, msg):
-        print("MainMenu2:img_cb:{}".format(msg))
-        EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
-
-
-
-
-#主菜单风格2,单页
-class MainMenu2():
-    NAME = "MainMenu2"
-    def __init__(self): 
-        print("MainMenu1:__init__")    
-        self.meta = lv.obj()
-        self.MainMenu = lv.tileview(self.meta)
-        self.MainMenu.set_scrollbar_mode(0)
-        self.MainMenu.add_style(style_MainMenu_screen_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        #表盘
-        self.MainMenu_Watchface = self.MainMenu.add_tile(0, 1,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu_Watchface)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("0")
-        #self.MainMenu2.set_tile_id(2,0,lv.ANIM.ON)
-        #支付宝
-        self.MainMenu2_alipay = self.MainMenu.add_tile(0, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_alipay)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("1")
-        self.MainMenu2_img_alipay = lv.img(self.MainMenu2_alipay)
-        self.MainMenu2_img_alipay.set_size(160,160)
-        self.MainMenu2_img_alipay.set_pos(40,20)
-        self.MainMenu2_img_alipay.set_src("E:/static/main_menu/main_menu2/alipay_.png")
-        self.MainMenu2_img_alipay.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_alipay)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("支付宝")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-        # self.MainMenu2_img_alipay_text = lv.img(self.MainMenu2_alipay)
-        # self.MainMenu2_img_alipay_text.set_size(160,39)
-        # self.MainMenu2_img_alipay_text.set_pos(40,210)
-        # self.MainMenu2_img_alipay_text.set_src("E:/static/main_menu/main_menu2/alipay_TEXT.png")
-        # self.MainMenu2_img_alipay_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_alipay_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_alipay.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_alipay.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_alipay.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-        #拨号盘
-        self.MainMenu2_phone = self.MainMenu.add_tile(1, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_phone)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("2")
-        self.MainMenu2_img_phone = lv.img(self.MainMenu2_phone)
-        self.MainMenu2_img_phone.set_size(160,160)
-        self.MainMenu2_img_phone.set_pos(40,20)
-        self.MainMenu2_img_phone.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL.png")
-        self.MainMenu2_img_phone.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_phone.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_phone)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("拨号盘")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-        # self.MainMenu2_img_phone_text = lv.img(self.MainMenu2_phone)
-        # self.MainMenu2_img_phone_text.set_size(160,39)
-        # self.MainMenu2_img_phone_text.set_pos(40,210)
-        # self.MainMenu2_img_phone_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CALL_TEXT.png")
-        # self.MainMenu2_img_phone_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_phone_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_phone = lv.label(self.MainMenu2_phone)
-        # self.label_phone.set_pos(0, 240)
-        # self.label_phone.set_size(240, 80)
-        # self.label_phone.set_text("拨号盘")
-        # self.label_phone.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_phone.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_phone.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #通讯录
-        self.MainMenu2_contacts = self.MainMenu.add_tile(2, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_contacts)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("3")
-        self.MainMenu2_img_contacts = lv.img(self.MainMenu2_contacts)
-        self.MainMenu2_img_contacts.set_size(160,160)
-        self.MainMenu2_img_contacts.set_pos(40,20)
-        self.MainMenu2_img_contacts.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS.png")
-        self.MainMenu2_img_contacts.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_contacts.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_contacts)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("联系人")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-        # self.MainMenu2_img_contacts_text = lv.img(self.MainMenu2_contacts)
-        # self.MainMenu2_img_contacts_text.set_size(160,39)
-        # self.MainMenu2_img_contacts_text.set_pos(40,210)
-        # self.MainMenu2_img_contacts_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_CONTACTS_TEXT.png")
-        # self.MainMenu2_img_contacts_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_contacts_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_contacts = lv.label(self.MainMenu2_contacts)
-        # self.label_contacts.set_pos(0, 240)
-        # self.label_contacts.set_size(240, 80)
-        # self.label_contacts.set_text("通讯录")
-        # self.label_contacts.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_contacts.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_contacts.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #心律检测
-        self.MainMenu2_heartrate = self.MainMenu.add_tile(3, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_heartrate)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("4")
-        self.MainMenu2_img_heartrate = lv.img(self.MainMenu2_heartrate)
-        self.MainMenu2_img_heartrate.set_size(160,160)
-        self.MainMenu2_img_heartrate.set_pos(40,20)
-        self.MainMenu2_img_heartrate.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT.png")
-        self.MainMenu2_img_heartrate.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_heartrate.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_heartrate)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("心率检测")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-        # self.MainMenu2_img_heartrate_text = lv.img(self.MainMenu2_heartrate)
-        # self.MainMenu2_img_heartrate_text.set_size(160,39)
-        # self.MainMenu2_img_heartrate_text.set_pos(40,210)
-        # self.MainMenu2_img_heartrate_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_HEART_RATE_HEALTH_DETECT_TEXT.png")
-        # self.MainMenu2_img_heartrate_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_heartrate_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_heartrate = lv.label(self.MainMenu2_heartrate)
-        # self.label_heartrate.set_pos(0, 240)
-        # self.label_heartrate.set_size(240, 80)
-        # self.label_heartrate.set_text("心率")
-        # self.label_heartrate.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_heartrate.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_heartrate.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #血样检测
-        self.MainMenu2_spo2 = self.MainMenu.add_tile(4, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_spo2)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("5")
-        self.MainMenu2_img_spo2 = lv.img(self.MainMenu2_spo2)
-        self.MainMenu2_img_spo2.set_size(160,160)
-        self.MainMenu2_img_spo2.set_pos(40,20)
-        self.MainMenu2_img_spo2.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT.png")
-        self.MainMenu2_img_spo2.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_spo2.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-       
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_spo2)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("血氧检测")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.MainMenu2_img_spo2_text = lv.img(self.MainMenu2_spo2)
-        # self.MainMenu2_img_spo2_text.set_size(160,39)
-        # self.MainMenu2_img_spo2_text.set_pos(40,210)
-        # self.MainMenu2_img_spo2_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SPO2_DETECT_TEXT.png")
-        # self.MainMenu2_img_spo2_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_spo2_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_spo2 = lv.label(self.MainMenu2_spo2)
-        # self.label_spo2.set_pos(0, 240)
-        # self.label_spo2.set_size(240, 80)
-        # self.label_spo2.set_text("血氧")
-        # self.label_spo2.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_spo2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_spo2.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #工具箱
-        self.MainMenu2_toolbox = self.MainMenu.add_tile(5, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_toolbox)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("6")
-        self.MainMenu2_img_toolbox = lv.img(self.MainMenu2_toolbox)
-        self.MainMenu2_img_toolbox.set_size(160,160)
-        self.MainMenu2_img_toolbox.set_pos(40,20)
-        self.MainMenu2_img_toolbox.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS.png")
-        self.MainMenu2_img_toolbox.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_toolbox.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_toolbox)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("工具箱")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.MainMenu2_img_toolbox_text = lv.img(self.MainMenu2_toolbox)
-        # self.MainMenu2_img_toolbox_text.set_size(160,39)
-        # self.MainMenu2_img_toolbox_text.set_pos(40,210)
-        # self.MainMenu2_img_toolbox_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TOOLS_TEXT.png")
-        # self.MainMenu2_img_toolbox_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_toolbox_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_toolbox = lv.label(self.MainMenu2_toolbox)
-        # self.label_toolbox.set_pos(0, 240)
-        # self.label_toolbox.set_size(240, 80)
-        # self.label_toolbox.set_text("工具箱")
-        # self.label_toolbox.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_toolbox.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_toolbox.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #设置
-        self.MainMenu2_setting = self.MainMenu.add_tile(6, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_setting)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("7")
-        self.MainMenu2_img_setting = lv.img(self.MainMenu2_setting)
-        self.MainMenu2_img_setting.set_size(160,160)
-        self.MainMenu2_img_setting.set_pos(40,20)
-        self.MainMenu2_img_setting.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS.png")
-        self.MainMenu2_img_setting.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_setting.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_setting)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("设置")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.MainMenu2_img_setting_text = lv.img(self.MainMenu2_setting)
-        # self.MainMenu2_img_setting_text.set_size(160,39)
-        # self.MainMenu2_img_setting_text.set_pos(40,210)
-        # self.MainMenu2_img_setting_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_SETTINGS_TEXT.png")
-        # self.MainMenu2_img_setting_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_setting_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_setting = lv.label(self.MainMenu2_setting)
-        # self.label_setting.set_pos(0, 240)
-        # self.label_setting.set_size(240, 80)
-        # self.label_setting.set_text("设置")
-        # self.label_setting.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_setting.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_setting.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #体温测量
-        self.MainMenu2_temperature = self.MainMenu.add_tile(7, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_temperature)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("8")
-        self.MainMenu2_img_temperature = lv.img(self.MainMenu2_temperature)
-        self.MainMenu2_img_temperature.set_size(160,160)
-        self.MainMenu2_img_temperature.set_pos(40,20)
-        self.MainMenu2_img_temperature.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE.png")
-        self.MainMenu2_img_temperature.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_temperature.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_temperature)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("体温测量")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.MainMenu2_img_temperature_text = lv.img(self.MainMenu2_temperature)
-        # self.MainMenu2_img_temperature_text.set_size(160,39)
-        # self.MainMenu2_img_temperature_text.set_pos(40,210)
-        # self.MainMenu2_img_temperature_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_TEMPERATURE_TEXT.png")
-        # self.MainMenu2_img_temperature_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_temperature_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        # self.label_temperature = lv.label(self.MainMenu2_temperature)
-        # self.label_temperature.set_pos(0, 240)
-        # self.label_temperature.set_size(240, 80)
-        # self.label_temperature.set_text("体温")
-        # self.label_temperature.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_temperature.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_temperature.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        #微聊
-        self.MainMenu2_wechat = self.MainMenu.add_tile(8, 0,  lv.DIR.LEFT | lv.DIR.RIGHT)
-        label_text = lv.label(self.MainMenu2_wechat)
-        label_text.set_pos(0, 240)
-        label_text.set_size(0, 0)
-        label_text.set_text("9")
-        self.MainMenu2_img_wechat = lv.img(self.MainMenu2_wechat)
-        self.MainMenu2_img_wechat.set_size(160,160)
-        self.MainMenu2_img_wechat.set_pos(40,20)
-        self.MainMenu2_img_wechat.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT.png")
-        self.MainMenu2_img_wechat.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_wechat.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.MainMenu2_img_alipay_txt = lv.label(self.MainMenu2_wechat)
-        self.MainMenu2_img_alipay_txt.set_pos(int(0),int(220))
-        self.MainMenu2_img_alipay_txt.set_size(240,100)
-        self.MainMenu2_img_alipay_txt.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.MainMenu2_img_alipay_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.MainMenu2_img_alipay_txt.set_text("微聊")
-        self.MainMenu2_img_alipay_txt.add_style(style_font_youyuan_font_60, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-        # self.MainMenu2_img_wechat_text = lv.img(self.MainMenu2_wechat)
-        # self.MainMenu2_img_wechat_text.set_size(160,39)
-        # self.MainMenu2_img_wechat_text.set_pos(40,210)
-        # self.MainMenu2_img_wechat_text.set_src("E:/static/main_menu/main_menu2/IMAGE_ONE_PAGE_WECHAT_TEXT.png")
-        # self.MainMenu2_img_wechat_text.add_flag(lv.obj.FLAG.CLICKABLE)
-        # self.MainMenu2_img_wechat_text.add_style(style_MainMenu_img_default, lv.PART.MAIN | lv.STATE.DEFAULT)
-        
-        # self.label_wechat = lv.label(self.MainMenu2_wechat)
-        # self.label_wechat.set_pos(0, 240)
-        # self.label_wechat.set_size(240, 80)
-        # self.label_wechat.set_text("微聊")
-        # self.label_wechat.set_long_mode(lv.label.LONG.WRAP)
-        # self.label_wechat.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        # self.label_wechat.add_style(style_font_youyuan_25, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-          
-
-        self.MainMenu2_img_phone.add_event_cb(lambda e: self.img_cb(e,  "Phone"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_heartrate.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_contacts.add_event_cb(lambda e: self.img_cb(e,  "contacts"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_temperature.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None)
-        self.MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None)
-        #self.MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "Watchface_set"), lv.EVENT.CLICKED, None)
-
-    def initialization(self):
-        pass#
-
-    def img_cb(self, e, msg):
-        print("MainMenu2:img_cb:{}".format(msg))
-        EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
-    
-
 
+    def Close(self):
+        self.watchface.Close()
+        print("main_menu Close !!!!!!!!")
+        return
 
index 37dcc48..69ed403 100644 (file)
@@ -10,7 +10,6 @@ import audio
 from machine import Pin
 import ujson
 from ext.lcd import style_font_youyuan_40
-import utime
 # -------------------------------------------setting screen----------------------------------------------------------
 
 style_bar = lv.style_t() 
@@ -39,275 +38,264 @@ style_bar_indic.set_bg_grad_color(lv.color_make(0xff, 0x61, 0x3a))
 style_bar_indic.set_bg_grad_dir(lv.GRAD_DIR.VER)
 style_bar_indic.set_bg_opa(255)
 
+setting_cont_y = 0
+setting_screen = lv.obj()
+setting = lv.obj(setting_screen)
+setting.center()
+setting.set_size(240, 320)
+setting.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+setting_imei_img = lv.img(setting)
+setting_imei_img.set_pos(75, 10)
+setting_imei_img.set_size(90, 30)
+setting_imei_img.set_src("E:/static/setting/setting_text.png")
+setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_title = lv.label(setting)
+# setting_title.set_pos(0, 10)
+# setting_title.set_size(240, 40)
+# setting_title.set_text("设置")
+# setting_title.set_long_mode(lv.label.LONG.WRAP)
+# setting_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# setting_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+setting_cont = lv.obj(setting)
+setting_cont.set_pos(0, 50)
+setting_cont.set_size(240, 270)
+setting_cont_style = ContStyle()
+setting_cont.add_style(
+    setting_cont_style.style_cont(0, lv.color_make(0x00, 0x00, 0x00), lv.color_make(0x00, 0x00, 0x00), 255),
+    lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# setting_language = lv.btn(setting_cont)
+# setting_language.set_pos(0, setting_cont_y)
+# setting_language.set_size(240, 54)
+# setting_language_label = lv.label(setting_language)
+# setting_language_label.set_text("语言设置")
+# setting_language.set_style_pad_all(0, lv.STATE.DEFAULT)
+# setting_language_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+# setting_language_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+# setting_language_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_language.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_language_img = lv.img(setting_cont)
+# setting_language_img.set_pos(10, setting_cont_y)set_size(47, 47)
+# setting_language_img.set_size(232, 80)
+# setting_language_img.add_flag(lv.obj.FLAG.CLICKABLE)
+# setting_language_img.set_src("E:/static/menu_language.png")
+# setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+#setting_cont_y += 60
+
+setting_dialswitch = lv.btn(setting_cont)
+setting_dialswitch.set_pos(0, setting_cont_y)
+setting_dialswitch.set_size(0, 0)
+setting_dialswitch_label = lv.label(setting_dialswitch)
+setting_dialswitch_label.set_text("表盘切换")
+setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_dialswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_dialswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_dialswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_dialswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_dialswitch_img = lv.img(setting_cont)
+setting_dialswitch_img.set_pos(0, setting_cont_y)
+setting_dialswitch_img.set_size(232, 80)
+setting_dialswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_dialswitch_img.set_src("E:/static/setting/menu_watch_switch.png")
+setting_dialswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+
+# setting_themeswitch = lv.btn(setting_cont)
+# setting_themeswitch.set_pos(0, 120)
+# setting_themeswitch.set_size(240, 54)
+# setting_themeswitch_label = lv.label(setting_themeswitch)
+# setting_themeswitch_label.set_text("主题切换")
+# setting_themeswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
+# setting_themeswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+# setting_themeswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+# setting_themeswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_themeswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_themeswitch_img = lv.img(setting_cont)
+# setting_themeswitch_img.set_pos(10, 120)
+# setting_themeswitch_img.set_size(232, 80)
+# setting_themeswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
+# setting_themeswitch_img.set_src("E:/static/menu_theme_switch.png")
+# setting_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+#setting_cont_y+=60
+
+setting_imei = lv.btn(setting_cont)
+setting_imei.set_pos(0, setting_cont_y)
+setting_imei.set_size(0, 0)
+setting_imei_label = lv.label(setting_imei)
+setting_imei_label.set_text("设备IMEI号")
+setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_imei_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_imei_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_imei.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_imei_img = lv.img(setting_cont)
+setting_imei_img.set_pos(0, setting_cont_y)
+setting_imei_img.set_size(232, 80)
+setting_imei_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_imei_img.set_src("E:/static/setting/menu_imei_qrcode.png")
+setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_app = lv.btn(setting_cont)
+setting_app.set_pos(0, setting_cont_y)
+setting_app.set_size(0, 0)
+setting_app_label = lv.label(setting_app)
+setting_app_label.set_text("手机安装APP")
+setting_app.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_app_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_app_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_app.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_app_img = lv.img(setting_cont)
+setting_app_img.set_pos(0, setting_cont_y)
+setting_app_img.set_size(232, 80)
+setting_app_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_app_img.set_src("E:/static/setting/menu_app_qrcode.png")
+setting_app_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_bright = lv.btn(setting_cont)
+setting_bright.set_pos(0, setting_cont_y)
+setting_bright.set_size(0, 0)
+setting_bright_label = lv.label(setting_bright)
+setting_bright_label.set_text("屏幕调节")
+setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_bright_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_bright_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_bright_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_bright.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_bright_img = lv.img(setting_cont)
+setting_bright_img.set_pos(0, setting_cont_y)
+setting_bright_img.set_size(232, 80)
+setting_bright_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_bright_img.set_src("E:/static/setting/menu_bright.png")
+setting_bright_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_volume = lv.btn(setting_cont)
+setting_volume.set_pos(0, setting_cont_y)
+setting_volume.set_size(0, 0)
+setting_volume_label = lv.label(setting_volume)
+setting_volume_label.set_text("铃声")
+setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_volume_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_volume_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_volume_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_volume.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_volume_img = lv.img(setting_cont)
+setting_volume_img.set_pos(0, setting_cont_y)
+setting_volume_img.set_size(232, 80)
+setting_volume_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_volume_img.set_src("E:/static/setting/menu_volume.png")
+setting_volume_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_restore = lv.btn(setting_cont)
+setting_restore.set_pos(0, setting_cont_y)
+setting_restore.set_size(0, 0)
+setting_restore_label = lv.label(setting_restore)
+setting_restore_label.set_text("恢复出厂设置")
+setting_restore.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_restore_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_restore_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_restore.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_restore_img = lv.img(setting_cont)
+setting_restore_img.set_pos(0, setting_cont_y)
+setting_restore_img.set_size(232, 80)
+setting_restore_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_restore_img.set_src("E:/static/setting/menu_restore.png")
+setting_restore_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_poweroff = lv.btn(setting_cont)
+setting_poweroff.set_pos(0, setting_cont_y)
+setting_poweroff.set_size(0, 0)
+setting_poweroff_label = lv.label(setting_poweroff)
+setting_poweroff_label.set_text("关机")
+setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_poweroff_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_poweroff_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_poweroff.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_poweroff_img = lv.img(setting_cont)
+setting_poweroff_img.set_pos(0, setting_cont_y)
+setting_poweroff_img.set_size(232, 80)
+setting_poweroff_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_poweroff_img.set_src("E:/static/setting/menu_poweroff.png")
+setting_poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_version = lv.btn(setting_cont)
+setting_version.set_pos(0, setting_cont_y)
+setting_version.set_size(0, 0)
+setting_version_label = lv.label(setting_version)
+setting_version_label.set_text("关于设备")
+setting_version.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_version_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_version_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_version_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_version.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_version_img = lv.img(setting_cont)
+setting_version_img.set_pos(0, setting_cont_y)
+setting_version_img.set_size(232, 80)
+setting_version_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_version_img.set_src("E:/static/setting/menu_version.png")
+setting_version_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_cont_y+=90
+
+setting_update = lv.btn(setting_cont)
+setting_update.set_pos(0, setting_cont_y)
+setting_update.set_size(0, 0)
+setting_update_label = lv.label(setting_update)
+setting_update_label.set_text("系统升级")
+setting_update.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_update_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+setting_update_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+setting_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_update.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+setting_update_img = lv.img(setting_cont)
+setting_update_img.set_pos(0, setting_cont_y)
+setting_update_img.set_size(232, 80)
+setting_update_img.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_update_img.set_src("E:/static/setting/menu_upgrade.png")
+setting_update_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
-# import uos
-# import gc
 class SettingScreen(Screen):
     NAME = "setting"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-        self.setting_cont_y = 0
+        self.meta = setting_screen
+        # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
+        setting_dialswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None)
+        # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
+        setting_imei.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None)
+        setting_app.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None)
+        setting_bright.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None)
+        setting_volume.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None)
+        setting_restore.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None)
+        setting_poweroff.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None)
+        setting_update.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None)
+        setting_version.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None)
+
+        # img regist btton
+        # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
+        setting_dialswitch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None)
+        # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
+        setting_imei_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None)
+        setting_app_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None)
+        setting_bright_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None)
+        setting_volume_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None)
+        setting_restore_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None)
+        setting_poweroff_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None)
+        setting_update_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None)
+        setting_version_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None)
 
-    def initialization(self):
-        # mem = gc.mem_free()
-        # print('1剩余内存RAM:{} KB'.format(mem / 1024))
-        if self.meta == None :
-            print("SettingScreen :initialization")
-            self.setting_cont_y = 0
-            self.meta  = lv.obj()
-            self.setting = lv.obj(self.meta )
-            self.setting.center()
-            self.setting.set_size(240, 320)
-            self.setting.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.setting_imei_img = lv.img(self.setting)
-            self.setting_imei_img.set_pos(75, 10)
-            self.setting_imei_img.set_size(90, 30)
-            self.setting_imei_img.set_src("E:/static/setting/setting_text.png")
-            self.setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            # self.setting_title = lv.label(self.setting)
-            # self.setting_title.set_pos(0, 10)
-            # self.setting_title.set_size(240, 40)
-            # self.setting_title.set_text("设置")
-            # self.setting_title.set_long_mode(lv.label.LONG.WRAP)
-            # self.setting_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            # self.setting_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.setting_cont = lv.obj(self.setting)
-            self.setting_cont.set_pos(0, 50)
-            self.setting_cont.set_size(240, 270)
-            self.setting_cont_style = ContStyle()
-            self.setting_cont.add_style(
-                self.setting_cont_style.style_cont(0, lv.color_make(0x00, 0x00, 0x00), lv.color_make(0x00, 0x00, 0x00), 255),
-                lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            # self.setting_language = lv.btn(self.setting_cont)
-            # self.setting_language.set_pos(0, self.setting_cont_y)
-            # self.setting_language.set_size(240, 54)
-            # self.setting_language_label = lv.label(self.setting_language)
-            # self.setting_language_label.set_text("语言设置")
-            # self.setting_language.set_style_pad_all(0, lv.STATE.DEFAULT)
-            # self.setting_language_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            # self.setting_language_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            # self.setting_language_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            # self.setting_language.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            # self.setting_language_img = lv.img(self.setting_cont)
-            # self.setting_language_img.set_pos(10, self.setting_cont_y)set_size(47, 47)
-            # self.setting_language_img.set_size(232, 80)
-            # self.setting_language_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            # self.setting_language_img.set_src("E:/static/menu_language.png")
-            # self.setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            #self.setting_cont_y += 60
-
-            self.setting_dialswitch = lv.btn(self.setting_cont)
-            self.setting_dialswitch.set_pos(0, self.setting_cont_y)
-            self.setting_dialswitch.set_size(0, 0)
-            self.setting_dialswitch_label = lv.label(self.setting_dialswitch)
-            self.setting_dialswitch_label.set_text("表盘切换")
-            self.setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_dialswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_dialswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_dialswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_dialswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_dialswitch_img = lv.img(self.setting_cont)
-            self.setting_dialswitch_img.set_pos(0, self.setting_cont_y)
-            self.setting_dialswitch_img.set_size(232, 80)
-            self.setting_dialswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_dialswitch_img.set_src("E:/static/setting/menu_watch_switch.png")
-            self.setting_dialswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-
-            # self.setting_themeswitch = lv.btn(self.setting_cont)
-            # self.setting_themeswitch.set_pos(0, 120)
-            # self.setting_themeswitch.set_size(240, 54)
-            # self.setting_themeswitch_label = lv.label(self.setting_themeswitch)
-            # self.setting_themeswitch_label.set_text("主题切换")
-            # self.setting_themeswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
-            # self.setting_themeswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            # self.setting_themeswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            # self.setting_themeswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            # self.setting_themeswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            # self.setting_themeswitch_img = lv.img(self.setting_cont)
-            # self.setting_themeswitch_img.set_pos(10, 120)
-            # self.setting_themeswitch_img.set_size(232, 80)
-            # self.setting_themeswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            # self.setting_themeswitch_img.set_src("E:/static/menu_theme_switch.png")
-            # self.setting_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            #self.setting_cont_y+=60
-
-            self.setting_imei = lv.btn(self.setting_cont)
-            self.setting_imei.set_pos(0, self.setting_cont_y)
-            self.setting_imei.set_size(0, 0)
-            self.setting_imei_label = lv.label(self.setting_imei)
-            self.setting_imei_label.set_text("设备IMEI号")
-            self.setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_imei_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_imei_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_imei.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_imei_img = lv.img(self.setting_cont)
-            self.setting_imei_img.set_pos(0, self.setting_cont_y)
-            self.setting_imei_img.set_size(232, 80)
-            self.setting_imei_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_imei_img.set_src("E:/static/setting/menu_imei_qrcode.png")
-            self.setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_app = lv.btn(self.setting_cont)
-            self.setting_app.set_pos(0, self.setting_cont_y)
-            self.setting_app.set_size(0, 0)
-            self.setting_app_label = lv.label(self.setting_app)
-            self.setting_app_label.set_text("手机安装APP")
-            self.setting_app.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_app_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_app_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_app.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_app_img = lv.img(self.setting_cont)
-            self.setting_app_img.set_pos(0, self.setting_cont_y)
-            self.setting_app_img.set_size(232, 80)
-            self.setting_app_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_app_img.set_src("E:/static/setting/menu_app_qrcode.png")
-            self.setting_app_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_bright = lv.btn(self.setting_cont)
-            self.setting_bright.set_pos(0, self.setting_cont_y)
-            self.setting_bright.set_size(0, 0)
-            self.setting_bright_label = lv.label(self.setting_bright)
-            self.setting_bright_label.set_text("屏幕调节")
-            self.setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_bright_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_bright_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_bright_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_bright.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_bright_img = lv.img(self.setting_cont)
-            self.setting_bright_img.set_pos(0, self.setting_cont_y)
-            self.setting_bright_img.set_size(232, 80)
-            self.setting_bright_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_bright_img.set_src("E:/static/setting/menu_bright.png")
-            self.setting_bright_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_volume = lv.btn(self.setting_cont)
-            self.setting_volume.set_pos(0, self.setting_cont_y)
-            self.setting_volume.set_size(0, 0)
-            self.setting_volume_label = lv.label(self.setting_volume)
-            self.setting_volume_label.set_text("铃声")
-            self.setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_volume_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_volume_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_volume_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_volume.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_volume_img = lv.img(self.setting_cont)
-            self.setting_volume_img.set_pos(0, self.setting_cont_y)
-            self.setting_volume_img.set_size(232, 80)
-            self.setting_volume_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_volume_img.set_src("E:/static/setting/menu_volume.png")
-            self.setting_volume_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_restore = lv.btn(self.setting_cont)
-            self.setting_restore.set_pos(0, self.setting_cont_y)
-            self.setting_restore.set_size(0, 0)
-            self.setting_restore_label = lv.label(self.setting_restore)
-            self.setting_restore_label.set_text("恢复出厂设置")
-            self.setting_restore.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_restore_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_restore_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_restore.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_restore_img = lv.img(self.setting_cont)
-            self.setting_restore_img.set_pos(0, self.setting_cont_y)
-            self.setting_restore_img.set_size(232, 80)
-            self.setting_restore_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_restore_img.set_src("E:/static/setting/menu_restore.png")
-            self.setting_restore_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_poweroff = lv.btn(self.setting_cont)
-            self.setting_poweroff.set_pos(0, self.setting_cont_y)
-            self.setting_poweroff.set_size(0, 0)
-            self.setting_poweroff_label = lv.label(self.setting_poweroff)
-            self.setting_poweroff_label.set_text("关机")
-            self.setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_poweroff_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_poweroff_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_poweroff.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_poweroff_img = lv.img(self.setting_cont)
-            self.setting_poweroff_img.set_pos(0, self.setting_cont_y)
-            self.setting_poweroff_img.set_size(232, 80)
-            self.setting_poweroff_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_poweroff_img.set_src("E:/static/setting/menu_poweroff.png")
-            self.setting_poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_version = lv.btn(self.setting_cont)
-            self.setting_version.set_pos(0, self.setting_cont_y)
-            self.setting_version.set_size(0, 0)
-            self.setting_version_label = lv.label(self.setting_version)
-            self.setting_version_label.set_text("关于设备")
-            self.setting_version.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_version_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_version_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_version_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_version.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_version_img = lv.img(self.setting_cont)
-            self.setting_version_img.set_pos(0, self.setting_cont_y)
-            self.setting_version_img.set_size(232, 80)
-            self.setting_version_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_version_img.set_src("E:/static/setting/menu_version.png")
-            self.setting_version_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_cont_y+=90
-
-            self.setting_update = lv.btn(self.setting_cont)
-            self.setting_update.set_pos(0, self.setting_cont_y)
-            self.setting_update.set_size(0, 0)
-            self.setting_update_label = lv.label(self.setting_update)
-            self.setting_update_label.set_text("系统升级")
-            self.setting_update.set_style_pad_all(0, lv.STATE.DEFAULT)
-            self.setting_update_label.align(lv.ALIGN.LEFT_MID, 70, 0)
-            self.setting_update_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-            self.setting_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_update.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.setting_update_img = lv.img(self.setting_cont)
-            self.setting_update_img.set_pos(0, self.setting_cont_y)
-            self.setting_update_img.set_size(232, 80)
-            self.setting_update_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.setting_update_img.set_src("E:/static/setting/menu_upgrade.png")
-            self.setting_update_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-             # self.setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
-            self.setting_dialswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None)
-            # self.setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
-            self.setting_imei.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None)
-            self.setting_app.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None)
-            self.setting_bright.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None)
-            self.setting_volume.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None)
-            self.setting_restore.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None)
-            self.setting_poweroff.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None)
-            self.setting_update.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None)
-            self.setting_version.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None)
-
-            # img regist btton
-            # self.setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
-            self.setting_dialswitch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None)
-            # self.setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
-            self.setting_imei_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None)
-            self.setting_app_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None)
-            self.setting_bright_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None)
-            self.setting_volume_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None)
-            self.setting_restore_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None)
-            self.setting_poweroff_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None)
-            self.setting_update_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None)
-            self.setting_version_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None)
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+    
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -318,68 +306,545 @@ class SettingScreen(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 ##################################################################
+# -------------------------------------------language screen----------------------------------------------------------
+language_screen = lv.obj()
+language = lv.obj(language_screen)
+language.center()
+language.set_size(240, 320)
+language.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+language_title = lv.label(language)
+language_title.set_pos(0, 10)
+language_title.set_size(240, 40)
+language_title.set_text("语言设置")
+language_title.set_long_mode(lv.label.LONG.WRAP)
+language_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+language_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+language_english_btn = lv.btn(language)
+language_english_btn.set_size(240,50)
+language_english_btn.set_pos(0, 60)
+language_english_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+language_english_btn.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+language_english_btn_label = lv.label(language_english_btn)
+language_english_btn_label.set_text("English")
+language_english_btn_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+language_english_btn_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+language_chinese_btn = lv.btn(language)
+language_chinese_btn.set_size(240,50)
+language_chinese_btn.set_pos(0, 120)
+language_chinese_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+language_chinese_btn.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+language_chinese_btn_label = lv.label(language_chinese_btn)
+language_chinese_btn_label.set_text("简体中文")
+language_chinese_btn_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+language_chinese_btn_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# -------------------------------------------dialswitch screen----------------------------------------------------------
+dialswitch_screen = lv.obj()
+dialswitch = lv.obj(dialswitch_screen)
+dialswitch.center()
+dialswitch.set_size(240, 320)
+dialswitch.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+dialswitch_title = lv.label(dialswitch)
+dialswitch_title.set_pos(0, 10)
+dialswitch_title.set_size(240, 40)
+dialswitch_title.set_text("表盘切换")
+dialswitch_title.set_long_mode(lv.label.LONG.WRAP)
+dialswitch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+dialswitch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+dialswitch_btn1 = lv.btn(dialswitch)
+dialswitch_btn1.set_size(240,54)
+dialswitch_btn1.set_pos(0, 50)
+dialswitch_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+dialswitch_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+dialswitch_btn1_label = lv.label(dialswitch_btn1)
+dialswitch_btn1_label.set_text("表盘1")
+dialswitch_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+dialswitch_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+dialswitch_btn2 = lv.btn(dialswitch)
+dialswitch_btn2.set_size(240,54)
+dialswitch_btn2.set_pos(0, 104)
+dialswitch_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+dialswitch_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+dialswitch_btn2_label = lv.label(dialswitch_btn2)
+dialswitch_btn2_label.set_text("表盘2")
+dialswitch_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+dialswitch_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+btn1_switch = lv.switch(dialswitch_btn1)
+btn1_switch.set_pos(185, 3)
+btn1_switch.set_size(10, 10)
+btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
+btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
+btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
+
+btn2_switch = lv.switch(dialswitch_btn2)
+btn2_switch.set_pos(185, 3)
+btn2_switch.set_size(10, 10)
+btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
+btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
+btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
+
+# -------------------------------------------menustyle screen----------------------------------------------------------
+menustyle_screen = lv.obj()
+menustyle = lv.obj(menustyle_screen)
+menustyle.center()
+menustyle.set_size(240, 320)
+menustyle.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+menustyle_title = lv.label(menustyle)
+menustyle_title.set_pos(0, 10)
+menustyle_title.set_size(240, 40)
+menustyle_title.set_text("主菜单风格")
+menustyle_title.set_long_mode(lv.label.LONG.WRAP)
+menustyle_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+menustyle_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+menustyle_btn1 = lv.btn(menustyle)
+menustyle_btn1.set_size(240,54)
+menustyle_btn1.set_pos(0, 50)
+menustyle_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+menustyle_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+menustyle_btn1_label = lv.label(menustyle_btn1)
+menustyle_btn1_label.set_text("四宫格")
+menustyle_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+menustyle_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+menu_btn1_switch = lv.switch(menustyle_btn1)
+menu_btn1_switch.set_pos(185, 3)
+menu_btn1_switch.set_size(10, 10)
+menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
+menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
+menu_btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
+
+menustyle_btn2 = lv.btn(menustyle)
+menustyle_btn2.set_size(240,54)
+menustyle_btn2.set_pos(0, 104)
+menustyle_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
+menustyle_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+menustyle_btn2_label = lv.label(menustyle_btn2)
+menustyle_btn2_label.set_text("单页")
+menustyle_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0)
+menustyle_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+menu_btn2_switch = lv.switch(menustyle_btn2)
+menu_btn2_switch.set_pos(185, 3)
+menu_btn2_switch.set_size(10, 10)
+menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
+menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
+menu_btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
+
+
+
+
+
+# -------------------------------------------app screen----------------------------------------------------------
+#app_screen = lv.obj()
+app_screen = lv.obj()
+app_screen.center()
+app_screen.set_size(240, 320)
+app_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+app_img = lv.img(app_screen)
+app_img.set_pos(int(20),int(40))
+app_img.set_size(200,200)
+app_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+app_img.add_flag(lv.obj.FLAG.CLICKABLE)
+app_img.set_src("E:/static/IMAGE_APP_QR_CODE.png")
+app_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+# app_qr = lv.qrcode(imei, 150, fg_color, bg_color)
+# app_qr.center()
+# Add a border with bg_color
+# app_qr.set_style_border_color(bg_color, 0)
+# app_qr.set_style_border_width(5, 0)
+# app_qr_data = str("https://fangzoudiu.xcloudtech.com/xiao_jian")
+# app_qr.update(app_qr_data,len(app_qr_data))
+
+app_label = lv.label(app_screen)
+app_label.set_pos(0, 280)
+app_label.set_size(240, 20)
+app_label.set_text(" ")
+app_label.set_long_mode(lv.label.LONG.WRAP)
+app_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+# -------------------------------------------volume screen----------------------------------------------------------
+volume_screen = lv.obj()
+volume = lv.obj(volume_screen)
+volume.center()
+volume.set_size(240, 320)
+volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_phone_btn = lv.btn(volume)
+volume_phone_btn.set_size(240,40)
+volume_phone_btn.set_pos(0,30)
+volume_phone_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_phone_label = lv.label(volume_phone_btn)
+volume_phone_label.set_text("电话铃声")
+volume_phone_label.align(lv.ALIGN.CENTER, 0, 0)
+volume_phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_alarm_btn = lv.btn(volume)
+volume_alarm_btn.set_size(240,40)
+volume_alarm_btn.set_pos(0,100)
+volume_alarm_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_alarm_label = lv.label(volume_alarm_btn)
+volume_alarm_label.set_text("闹钟铃声")
+volume_alarm_label.align(lv.ALIGN.CENTER, 0, 0)
+volume_alarm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_message_btn = lv.btn(volume)
+volume_message_btn.set_size(240,40)
+volume_message_btn.set_pos(0,170)
+volume_message_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+volume_message_label = lv.label(volume_message_btn)
+volume_message_label.set_text("消息铃声")
+volume_message_label.align(lv.ALIGN.CENTER, 0, 0)
+volume_message_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# -------------------------------------------phonering screen----------------------------------------------------------
+phonering_screen = lv.obj()
+phonering = lv.obj(phonering_screen)
+phonering.center()
+phonering.set_size(240, 320)
+phonering.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+phonering_title = lv.label(phonering)
+phonering_title.set_pos(0, 10)
+phonering_title.set_size(240, 40)
+phonering_title.set_text("电话铃声")
+phonering_title.set_long_mode(lv.label.LONG.WRAP)
+phonering_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+phonering_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+phonering_label1 = lv.label(phonering)
+phonering_label1.set_pos(10, 70)
+phonering_label1.set_size(230, 40)
+phonering_label1.set_text("电话铃声:")
+phonering_label1.set_long_mode(lv.label.LONG.WRAP)
+phonering_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+phonering_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+phonering_bar = lv.bar(phonering)
+phonering_bar.set_pos(20, 120)
+phonering_bar.set_size(200, 15)
+phonering_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+phonering_bar.set_mode(lv.bar.MODE.NORMAL)
+phonering_bar.set_value(50, lv.ANIM.OFF)
+phonering_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
+phonering_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+
+phonering_reduce_imgbtn = lv.img(phonering)
+phonering_reduce_imgbtn.set_pos(0, 150)
+phonering_reduce_imgbtn.set_size(110, 46)
+phonering_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+phonering_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
+phonering_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+phonering_add_imgbtn = lv.img(phonering)
+phonering_add_imgbtn.set_pos(120, 150)
+phonering_add_imgbtn.set_size(110, 46)
+phonering_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+phonering_add_imgbtn.set_src("E:/static/add_btn.png")
+
+phonering_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+# -------------------------------------------alarmvolume screen----------------------------------------------------------
+alarmvolume_screen = lv.obj()
+alarmvolume = lv.obj(alarmvolume_screen)
+alarmvolume.center()
+alarmvolume.set_size(240, 320)
+alarmvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+alarmvolume_title = lv.label(alarmvolume)
+alarmvolume_title.set_pos(0, 10)
+alarmvolume_title.set_size(240, 40)
+alarmvolume_title.set_text("闹钟铃声")
+alarmvolume_title.set_long_mode(lv.label.LONG.WRAP)
+alarmvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+alarmvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+alarmvolume_label1 = lv.label(alarmvolume)
+alarmvolume_label1.set_pos(10, 70)
+alarmvolume_label1.set_size(230, 40)
+alarmvolume_label1.set_text("闹钟铃声:")
+alarmvolume_label1.set_long_mode(lv.label.LONG.WRAP)
+alarmvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+alarmvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+alarmvolume_bar = lv.bar(alarmvolume)
+alarmvolume_bar.set_pos(20, 120)
+alarmvolume_bar.set_size(200, 15)
+alarmvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+alarmvolume_bar.set_mode(lv.bar.MODE.NORMAL)
+alarmvolume_bar.set_value(50, lv.ANIM.OFF)
+alarmvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
+alarmvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+
+alarmvolume_reduce_imgbtn = lv.img(alarmvolume)
+alarmvolume_reduce_imgbtn.set_pos(5, 150)
+alarmvolume_reduce_imgbtn.set_size(110, 46)
+alarmvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+alarmvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
+
+alarmvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+alarmvolume_add_imgbtn = lv.img(alarmvolume)
+alarmvolume_add_imgbtn.set_pos(125, 150)
+alarmvolume_add_imgbtn.set_size(110, 46)
+alarmvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+alarmvolume_add_imgbtn.set_src("E:/static/add_btn.png")
+
+alarmvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+# -------------------------------------------msgvolume screen----------------------------------------------------------
+msgvolume_screen = lv.obj()
+msgvolume = lv.obj(msgvolume_screen)
+msgvolume.center()
+msgvolume.set_size(240, 320)
+msgvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+msgvolume_title = lv.label(msgvolume)
+msgvolume_title.set_pos(0, 10)
+msgvolume_title.set_size(240, 40)
+msgvolume_title.set_text("消息铃声")
+msgvolume_title.set_long_mode(lv.label.LONG.WRAP)
+msgvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+msgvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+msgvolume_label1 = lv.label(msgvolume)
+msgvolume_label1.set_pos(10, 70)
+msgvolume_label1.set_size(230, 40)
+msgvolume_label1.set_text("消息铃声:")
+msgvolume_label1.set_long_mode(lv.label.LONG.WRAP)
+msgvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+msgvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+msgvolume_bar = lv.bar(msgvolume)
+msgvolume_bar.set_pos(20, 120)
+msgvolume_bar.set_size(200, 15)
+msgvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+msgvolume_bar.set_mode(lv.bar.MODE.NORMAL)
+msgvolume_bar.set_value(50, lv.ANIM.OFF)
+msgvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
+msgvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+
+msgvolume_reduce_imgbtn = lv.img(msgvolume)
+msgvolume_reduce_imgbtn.set_pos(5, 150)
+msgvolume_reduce_imgbtn.set_size(110, 46)
+msgvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+msgvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
+
+msgvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+msgvolume_add_imgbtn = lv.img(msgvolume)
+msgvolume_add_imgbtn.set_pos(125, 150)
+msgvolume_add_imgbtn.set_size(110, 46)
+msgvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+msgvolume_add_imgbtn.set_src("E:/static/add_btn.png")
+
+msgvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+# -------------------------------------------restore screen----------------------------------------------------------
+restore_screen = lv.obj()
+restore = lv.obj(restore_screen)
+restore.center()
+restore.set_size(240, 320)
+restore.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+restore_label = lv.label(restore)
+restore_label.set_pos(0, 100)
+restore_label.set_size(240, 40)
+restore_label.set_text("恢复出厂设置?")
+restore_label.set_long_mode(lv.label.LONG.WRAP)
+restore_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+restore_confirm = lv.label(restore)
+restore_confirm.set_text("确认")
+restore_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+restore_confirm.set_size(120, 40)
+restore_confirm.set_pos(0,180)
+restore_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+restore_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
+restore_confirm.set_ext_click_area(20)
+
+restore_cancel = lv.label(restore)
+restore_cancel.set_text("返回")
+restore_cancel.set_size(120, 40)
+restore_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+restore_cancel.set_pos(120,180)
+restore_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+restore_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
+restore_cancel.set_ext_click_area(20)
+
+
+
+
+
+# -------------------------------------------version screen----------------------------------------------------------
+version_screen = lv.obj()
+version = lv.obj(version_screen)
+version.center()
+version.set_size(240, 320)
+version.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_msg = "Software Version:\n\
+MMI\n\
+Version:UIX8910_C55_V\n\
+1.0_Release\n\
+Build Time:\n\
+2-17-2023\n\
+9:32:5\n\
+IMEI:\n\
+"
+
+version_label1 = lv.label(version)
+version_label1.set_pos(0, 0)
+version_label1.set_size(240, 25)
+version_label1.set_long_mode(lv.label.LONG.WRAP)
+version_label1.set_text("Software Version:")
+version_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label2 = lv.label(version)
+version_label2.set_pos(0, 25)
+version_label2.set_size(240, 25)
+version_label2.set_long_mode(lv.label.LONG.WRAP)
+version_label2.set_text("MMI")
+version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label3 = lv.label(version)
+version_label3.set_pos(0, 50)
+version_label3.set_size(240, 25)
+version_label3.set_long_mode(lv.label.LONG.WRAP)
+version_label3.set_text("Version:UIX8910_C55_V")
+version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label4 = lv.label(version)
+version_label4.set_pos(0, 75)
+version_label4.set_size(240, 25)
+version_label4.set_long_mode(lv.label.LONG.WRAP)
+version_label4.set_text("1.0_Release")
+version_label4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label5 = lv.label(version)
+version_label5.set_pos(0, 100)
+version_label5.set_size(240, 25)
+version_label5.set_long_mode(lv.label.LONG.WRAP)
+version_label5.set_text("Build Time:")
+version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label6 = lv.label(version)
+version_label6.set_pos(0, 125)
+version_label6.set_size(240, 25)
+version_label6.set_long_mode(lv.label.LONG.WRAP)
+version_label6.set_text("2-17-2023")
+version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label7 = lv.label(version)
+version_label7.set_pos(0, 150)
+version_label7.set_size(240, 25)
+version_label7.set_long_mode(lv.label.LONG.WRAP)
+version_label7.set_text("9:32:5")
+version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label8 = lv.label(version)
+version_label8.set_pos(0, 175)
+version_label8.set_size(240, 25)
+version_label8.set_long_mode(lv.label.LONG.WRAP)
+version_label8.set_text("IMEI:")
+version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label9 = lv.label(version)
+version_label9.set_pos(20, 200)
+version_label9.set_size(220, 100)
+version_label9.set_long_mode(lv.label.LONG.WRAP)
+version_label9.set_text(" ")
+version_label9.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+
+# -------------------------------------------update screen----------------------------------------------------------
+update_screen = lv.obj()
+update = lv.obj(update_screen)
+update.center()
+update.set_size(240, 320)
+update.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+update_title = lv.label(update)
+update_title.set_pos(0, 10)
+update_title.set_size(240, 40)
+update_title.set_text("系统更新")
+update_title.set_long_mode(lv.label.LONG.WRAP)
+update_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+update_label = lv.label(update)
+update_label.set_text(" 检查版本更新!/n 请稍后...")
+update_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+update_label.set_size(240, 50)
+update_label.set_pos(0,50)
+update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+update_return = lv.label(update)
+update_return.set_text("返回")
+update_return.set_size(240, 40)
+update_return.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+update_return.set_pos(0,240)
+update_return.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+update_return.add_flag(lv.obj.FLAG.CLICKABLE)
+
 class RestoreScreen(Screen):
     NAME = "restore"
-    #恢复出厂
+
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = restore_screen
+        restore_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None)
+        restore_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None)
         
-    def initialization(self):
-        if self.meta == None :
-            print("RestoreScreen :initialization:self.meta == None")
-        self.meta = lv.obj()
-        self.restore = lv.obj(self.meta)
-        self.restore.center()
-        self.restore.set_size(240, 320)
-        self.restore.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.restore_label = lv.label(self.restore)
-        self.restore_label.set_pos(0, 100)
-        self.restore_label.set_size(240, 40)
-        self.restore_label.set_text("恢复出厂设置?")
-        self.restore_label.set_long_mode(lv.label.LONG.WRAP)
-        self.restore_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-        self.restore_confirm = lv.label(self.restore)
-        self.restore_confirm.set_text("确认")
-        self.restore_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.restore_confirm.set_size(120, 40)
-        self.restore_confirm.set_pos(0,180)
-        self.restore_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.restore_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.restore_confirm.set_ext_click_area(20)
-
-        self.restore_cancel = lv.label(self.restore)
-        self.restore_cancel.set_text("返回")
-        self.restore_cancel.set_size(120, 40)
-        self.restore_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-        self.restore_cancel.set_pos(120,180)
-        self.restore_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.restore_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
-        self.restore_cancel.set_ext_click_area(20)
-
-        self.restore_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None)
-        self.restore_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None)
     def confirm(self, e):
         ret = 0
-        EventMesh.publish("reset_alipay")#恢复支付宝数据
         ret = ql_fs.path_exists("/ext/static/storage_file")#电话本
         if ret == True:
             ql_fs.rmdirs("/ext/static/storage_file")
             ql_fs.mkdirs("/ext/static/storage_file")
-        utime.sleep_ms(2000)
         Power.powerRestart()
         # EventMesh.publish("load_screen", {"screen": "setting"})
 
     def concel(self, e):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-    
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
@@ -388,53 +853,16 @@ class RestoreScreen(Screen):
         
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
-  
+
 
 class UpdateScreen(Screen):
     NAME = "update"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-        #系统更新
-    def initialization(self):
-        if self.meta == None :
-            print("UpdateScreen :initialization:self.meta == None")
-            self.meta = lv.obj()
-            self.update = lv.obj(self.meta)
-            self.update.center()
-            self.update.set_size(240, 320)
-            self.update.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.update_title = lv.label(self.update)
-            self.update_title.set_pos(0, 10)
-            self.update_title.set_size(240, 40)
-            self.update_title.set_text("系统更新")
-            self.update_title.set_long_mode(lv.label.LONG.WRAP)
-            self.update_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.update_label = lv.label(self.update)
-            self.update_label.set_text(" 检查版本更新!/n 请稍后...")
-            self.update_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.update_label.set_size(240, 50)
-            self.update_label.set_pos(0,50)
-            self.update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.update_return = lv.label(self.update)
-            self.update_return.set_text("返回")
-            self.update_return.set_size(240, 40)
-            self.update_return.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.update_return.set_pos(0,240)
-            self.update_return.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.update_return.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.update_return.add_event_cb(lambda e: self.back(e),lv.EVENT.CLICKED, None)
-
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-
+        self.meta = update_screen
+        update_return.add_event_cb(lambda e: self.back(e),lv.EVENT.CLICKED, None)
+    
     def back(self,e):
         EventMesh.publish("load_screen", {"screen": "setting"})
        
@@ -450,110 +878,18 @@ class UpdateScreen(Screen):
 
 class VersionScreen(Screen):
     NAME = "version"
-    #查看版本
+
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = version_screen
         self.btn_count = 0
-
     def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.version = lv.obj(self.meta)
-            self.version.center()
-            self.version.set_size(240, 320)
-            self.version.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            # self.version_msg = "Software Version:\n\
-            # MMI\n\
-            # Version:UIX8910_C55_V\n\
-            # 1.0_Release\n\
-            # Build Time:\n\
-            # 2-17-2023\n\
-            # 9:32:5\n\
-            # IMEI:\n\
-            # "
-
-            self.version_label1 = lv.label(self.version)
-            self.version_label1.set_pos(0, 0)
-            self.version_label1.set_size(240, 25)
-            self.version_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label1.set_text("Software Version:")
-            self.version_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label2 = lv.label(self.version)
-            self.version_label2.set_pos(0, 25)
-            self.version_label2.set_size(240, 25)
-            self.version_label2.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label2.set_text("MMI")
-            self.version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label3 = lv.label(self.version)
-            self.version_label3.set_pos(0, 50)
-            self.version_label3.set_size(240, 25)
-            self.version_label3.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label3.set_text("Version:K5_V")
-            self.version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label4 = lv.label(self.version)
-            self.version_label4.set_pos(0, 75)
-            self.version_label4.set_size(240, 25)
-            self.version_label4.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label4.set_text("1.0_Release")
-            self.version_label4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label5 = lv.label(self.version)
-            self.version_label5.set_pos(0, 100)
-            self.version_label5.set_size(240, 25)
-            self.version_label5.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label5.set_text("Build Time:")
-            self.version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label6 = lv.label(self.version)
-            self.version_label6.set_pos(0, 125)
-            self.version_label6.set_size(240, 25)
-            self.version_label6.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label6.set_text("2-17-2023")
-            self.version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label7 = lv.label(self.version)
-            self.version_label7.set_pos(0, 150)
-            self.version_label7.set_size(240, 25)
-            self.version_label7.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label7.set_text("9:32:5")
-            self.version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label8 = lv.label(self.version)
-            self.version_label8.set_pos(0, 175)
-            self.version_label8.set_size(240, 25)
-            self.version_label8.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label8.set_text("IMEI:")
-            self.version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.version_label9 = lv.label(self.version)
-            self.version_label9.set_pos(20, 200)
-            self.version_label9.set_size(220, 100)
-            self.version_label9.set_long_mode(lv.label.LONG.WRAP)
-            self.version_label9.set_text(" ")
-            self.version_label9.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
         imei = EventMesh.publish(constants.EVENT.GET_IMEI)
-        self.version_label9.set_text(imei)
+        version_label9.set_text(imei)
 
     def Close(self):
         self.btn_count = 0
-        self.meta.delete()
-        self.meta = None
-
+    
     def done_click(self):
         self.btn_count += 1
         if self.btn_count >= 5 :
@@ -573,7 +909,50 @@ class VersionScreen(Screen):
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
-
+# -------------------------------------------poweroff screen----------------------------------------------------------
+poweroff_screen = lv.obj()
+poweroff = lv.obj(poweroff_screen)
+poweroff.center()
+poweroff.set_size(240, 320)
+poweroff.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+poweroff_img = lv.img(poweroff)
+poweroff_img.set_pos(100, 30)
+poweroff_img.set_size(61, 61)
+poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+poweroff_img.set_src("E:/static/poweroff_icon.png")
+
+poweroff_label = lv.label(poweroff)
+poweroff_label.set_text("是否关机?")
+poweroff_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+poweroff_label.set_size(240, 20)
+poweroff_label.set_pos(0,120)
+poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+poweroff_confirm = lv.img(poweroff)
+poweroff_confirm.set_size(176, 46)
+poweroff_confirm.set_pos(32, 150)
+poweroff_confirm.set_src("E:/static/off_icon.png")
+poweroff_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
+poweroff_confirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+poweroff_confirm.set_ext_click_area(20)
+
+poweroff_confirm_label = lv.label(poweroff_confirm)
+poweroff_confirm_label.set_text("关机")
+poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+poweroff_return = lv.img(poweroff)
+poweroff_return.set_size(176, 46)
+poweroff_return.set_pos(32, 210)
+poweroff_return.set_src("E:/static/cancel_icon.png")
+poweroff_return.add_flag(lv.obj.FLAG.CLICKABLE)
+poweroff_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+poweroff_return_label = lv.label(poweroff_return)
+poweroff_return_label.set_text("返回")
+poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+poweroff_return.set_ext_click_area(20)
 
 
 class PoweroffScreen(Screen):
@@ -581,64 +960,15 @@ class PoweroffScreen(Screen):
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = poweroff_screen
         self.timer = osTimer()
         self.button_flag = 0
-        
+        poweroff_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None)
+        poweroff_return.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None)
 
     def initialization(self):
-        if self.meta == None :
-            self.meta = lv.obj()
-            self.poweroff = lv.obj(self.meta)
-            self.poweroff.center()
-            self.poweroff.set_size(240, 320)
-            self.poweroff.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.poweroff_img = lv.img(self.poweroff)
-            self.poweroff_img.set_pos(100, 30)
-            self.poweroff_img.set_size(61, 61)
-            self.poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.poweroff_img.set_src("E:/static/poweroff_icon.png")
-
-            self.poweroff_label = lv.label(self.poweroff)
-            self.poweroff_label.set_text("是否关机?")
-            self.poweroff_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.poweroff_label.set_size(240, 20)
-            self.poweroff_label.set_pos(0,120)
-            self.poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.poweroff_confirm = lv.img(self.poweroff)
-            self.poweroff_confirm.set_size(176, 46)
-            self.poweroff_confirm.set_pos(32, 150)
-            self.poweroff_confirm.set_src("E:/static/off_icon.png")
-            self.poweroff_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.poweroff_confirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.poweroff_confirm.set_ext_click_area(20)
-
-            self.poweroff_confirm_label = lv.label(self.poweroff_confirm)
-            self.poweroff_confirm_label.set_text("关机")
-            self.poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.poweroff_return = lv.img(self.poweroff)
-            self.poweroff_return.set_size(176, 46)
-            self.poweroff_return.set_pos(32, 210)
-            self.poweroff_return.set_src("E:/static/cancel_icon.png")
-            self.poweroff_return.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.poweroff_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.poweroff_return_label = lv.label(self.poweroff_return)
-            self.poweroff_return_label.set_text("返回")
-            self.poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.poweroff_return.set_ext_click_area(20)
-
-            self.poweroff_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None)
-            self.poweroff_return.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None)
-
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-
+        pass
+        
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
         
@@ -657,35 +987,27 @@ class PoweroffScreen(Screen):
 
 
 
+poweroff_confirm_screen = lv.obj()
+poweroff_confirm = lv.obj(poweroff_confirm_screen)
+poweroff_confirm.center()
+poweroff_confirm.set_size(240, 320)
+poweroff_confirm.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
 
+poweroff_confirm_label = lv.label(poweroff_confirm)
+poweroff_confirm_label.set_text("Goodbye")
+poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_confirm_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 class PoweroffConfirmScreen(Screen):
     NAME = "poweroff_comfirm"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = poweroff_confirm_screen
         self.timer = osTimer()
-
     def initialization(self):
-        if self.meta == None :    
-            self.meta = lv.obj()
-            self.poweroff_confirm = lv.obj(self.meta)
-            self.poweroff_confirm.center()
-            self.poweroff_confirm.set_size(240, 320)
-            self.poweroff_confirm.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.poweroff_confirm_label = lv.label(self.poweroff_confirm)
-            self.poweroff_confirm_label.set_text("Goodbye")
-            self.poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.poweroff_confirm_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
-
         self.timer.start(2*1000,0,self.power_off)
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-
     def power_off(self,*args):
         Power.powerDown()
     
@@ -697,88 +1019,55 @@ class PoweroffConfirmScreen(Screen):
         
     def btn8_press(self):
         pass
+
+
+class LanguageScreen(Screen):
+    NAME = "language"
+
+    def __init__(self):
+        super().__init__()
+        self.meta = language_screen
+
+    def done_return(self):
+        EventMesh.publish("load_screen", {"screen": "setting"})
+
+    def btn1_release(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        
+    def btn8_press(self):
+        EventMesh.publish("load_screen", {"screen": "setting"})
+
+
 class DialswitchScreen(Screen):
     NAME = "dialswitch"
-    #表盘切换
+
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = dialswitch_screen
         self.read_data = {}
         self.watchface_style_num = "Watchface1"
-        
-    def initialization(self):
-        if self.meta == None:
-            print("DialswitchScreen:initialization:self.meta == None")
-            self.meta = lv.obj()
-            self.dialswitch = lv.obj(self.meta)
-            self.dialswitch.center()
-            self.dialswitch.set_size(240, 320)
-            self.dialswitch.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.dialswitch_title = lv.label(self.dialswitch)
-            self.dialswitch_title.set_pos(0, 10)
-            self.dialswitch_title.set_size(240, 40)
-            self.dialswitch_title.set_text("表盘切换")
-            self.dialswitch_title.set_long_mode(lv.label.LONG.WRAP)
-            self.dialswitch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.dialswitch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.dialswitch_btn1 = lv.btn(self.dialswitch)
-            self.dialswitch_btn1.set_size(240,54)
-            self.dialswitch_btn1.set_pos(0, 50)
-            self.dialswitch_btn1.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
-            self.dialswitch_btn1.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.dialswitch_btn1_label = lv.label(self.dialswitch_btn1)
-            self.dialswitch_btn1_label.set_text("表盘1")
-            self.dialswitch_btn1_label.align(lv.ALIGN.LEFT_MID, 10, 0)
-            self.dialswitch_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.dialswitch_btn2 = lv.btn(self.dialswitch)
-            self.dialswitch_btn2.set_size(240,54)
-            self.dialswitch_btn2.set_pos(0, 104)
-            self.dialswitch_btn2.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.PRESSED)
-            self.dialswitch_btn2.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.dialswitch_btn2_label = lv.label(self.dialswitch_btn2)
-            self.dialswitch_btn2_label.set_text("表盘2")
-            self.dialswitch_btn2_label.align(lv.ALIGN.LEFT_MID, 10, 0)
-            self.dialswitch_btn2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.btn1_switch = lv.switch(self.dialswitch_btn1)
-            self.btn1_switch.set_pos(185, 3)
-            self.btn1_switch.set_size(10, 10)
-            self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
-            self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
-            self.btn1_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
-
-            self.btn2_switch = lv.switch(self.dialswitch_btn2)
-            self.btn2_switch.set_pos(185, 3)
-            self.btn2_switch.set_size(10, 10)
-            self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.MAIN | lv.PART.INDICATOR)
-            self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0x00, 0x00),lv.PART.KNOB | lv.STATE.CHECKED)
-            self.btn2_switch.set_style_bg_color(lv.color_make(0xff, 0xff, 0xff),lv.PART.KNOB)
-            self.dialswitch_btn1.add_event_cb(lambda e: self.watchface01(e),
-                                        lv.EVENT.PRESSED, None)
-
-            self.dialswitch_btn2.add_event_cb(lambda e: self.watchface02(e),
-                                        lv.EVENT.PRESSED, None)
-        
+        dialswitch_btn1.add_event_cb(lambda e: self.watchface01(e),
+                                     lv.EVENT.PRESSED, None)
 
+        dialswitch_btn2.add_event_cb(lambda e: self.watchface02(e),
+                                     lv.EVENT.PRESSED, None)
+    def initialization(self):
         self.read_data = EventMesh.publish("get_storage_data")
         if self.read_data != {}:
             b = str("watchface") in self.read_data.keys()
             if b == True:
                 self.watchface_style_num = self.read_data["watchface"]
         if self.watchface_style_num == "Watchface1":
-            self.btn1_switch.add_state(lv.STATE.CHECKED)
-            self.btn2_switch.clear_state(lv.STATE.CHECKED)
+            btn1_switch.add_state(lv.STATE.CHECKED)
+            btn2_switch.clear_state(lv.STATE.CHECKED)
         else:
-            self.btn1_switch.clear_state(lv.STATE.CHECKED)
-            self.btn2_switch.add_state(lv.STATE.CHECKED)
+            btn1_switch.clear_state(lv.STATE.CHECKED)
+            btn2_switch.add_state(lv.STATE.CHECKED)
        
 
     def watchface01(self,e):
-        self.btn1_switch.add_state(lv.STATE.CHECKED)
-        self.btn2_switch.clear_state(lv.STATE.CHECKED)
+        btn1_switch.add_state(lv.STATE.CHECKED)
+        btn2_switch.clear_state(lv.STATE.CHECKED)
         self.read_data["watchface"] = "Watchface1"
         EventMesh.publish("set_storage_data", self.read_data)
         with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
@@ -788,8 +1077,8 @@ class DialswitchScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def watchface02(self,e):
-        self.btn1_switch.clear_state(lv.STATE.CHECKED)
-        self.btn2_switch.add_state(lv.STATE.CHECKED)
+        btn1_switch.clear_state(lv.STATE.CHECKED)
+        btn2_switch.add_state(lv.STATE.CHECKED)
         self.read_data["watchface"] = "Watchface2"
         EventMesh.publish("set_storage_data", self.read_data)
         with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
@@ -806,51 +1095,79 @@ class DialswitchScreen(Screen):
         
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
 
 
+class ThemeswitchScreen(Screen):
+    NAME = "themeswitch"
+
+    def __init__(self):
+        super().__init__()
+        self.meta = menustyle_screen
+        menustyle_btn1.add_event_cb(lambda e: self.fun1(e),
+                                     lv.EVENT.PRESSED, None)
+
+        menustyle_btn2.add_event_cb(lambda e: self.fun2(e),
+                                     lv.EVENT.PRESSED, None)
+
+    def fun1(self,e):
+        menu_btn1_switch.add_state(lv.STATE.CHECKED)
+        menu_btn2_switch.clear_state(lv.STATE.CHECKED)
+        EventMesh.publish("change_style", "MainMenu1")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+    def fun2(self,e):
+        menu_btn1_switch.clear_state(lv.STATE.CHECKED)
+        menu_btn2_switch.add_state(lv.STATE.CHECKED)
+        EventMesh.publish("change_style", "MainMenu2")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+    def done_return(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+    def btn1_release(self):
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        
+    def btn8_press(self):
+        EventMesh.publish("load_screen", {"screen": "setting"})
+
+# -------------------------------------------imei screen----------------------------------------------------------
+imei_screen = lv.obj()
+imei = lv.obj(imei_screen)
+imei.center()
+imei.set_size(240, 320)
+imei.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
+fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
+
+imei_qr = lv.qrcode(imei, 150, fg_color, bg_color)
+imei_qr.center()
+# Add a border with bg_color
+imei_qr.set_style_border_color(bg_color, 0)
+imei_qr.set_style_border_width(5, 0)
+
+
+imei_label = lv.label(imei)
+imei_label.set_pos(0, 280)
+imei_label.set_size(240, 20)
+imei_label.set_text(" ")
+imei_label.set_long_mode(lv.label.LONG.WRAP)
+imei_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 class ImeiScreen(Screen):
     NAME = "imei"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = imei_screen
 
     def initialization(self):
-        if self.meta == None:    
-            self.meta = lv.obj()
-            self.imei = lv.obj(self.meta)
-            self.imei.center()
-            self.imei.set_size(240, 320)
-            self.imei.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
-            fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-
-            self.imei_qr = lv.qrcode(self.imei, 150, fg_color, bg_color)
-            self.imei_qr.center()
-            # Add a border with bg_color
-            self.imei_qr.set_style_border_color(bg_color, 0)
-            self.imei_qr.set_style_border_width(5, 0)
-
-
-            self.imei_label = lv.label(self.imei)
-            self.imei_label.set_pos(0, 280)
-            self.imei_label.set_size(240, 20)
-            self.imei_label.set_text(" ")
-            self.imei_label.set_long_mode(lv.label.LONG.WRAP)
-            self.imei_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.imei = EventMesh.publish(constants.EVENT.GET_IMEI)
-        self.imei_qr_data = str(self.imei)
-        self.imei_qr.update(self.imei_qr_data,len(self.imei_qr_data))
-        self.imei_label.set_text(self.imei)
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+        imei = EventMesh.publish(constants.EVENT.GET_IMEI)
+        imei_qr_data = str(imei)
+        imei_qr.update(imei_qr_data,len(imei_qr_data))
+        imei_label.set_text(imei)
+
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
@@ -866,44 +1183,11 @@ class AppScreen(Screen):
 
     def __init__(self):
         super().__init__()
-        self.meta = None
+        self.meta = app_screen
     def initialization(self):
-        if self.meta == None: 
-            self.meta = lv.obj()
-            self.meta.center()
-            self.meta.set_size(240, 320)
-            self.meta.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.app_img = lv.img(self.meta)
-            self.app_img.set_pos(int(20),int(40))
-            self.app_img.set_size(200,200)
-            self.app_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.app_img.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.app_img.set_src("E:/static/IMAGE_APP_QR_CODE.png")
-            self.app_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-            # app_qr = lv.qrcode(imei, 150, fg_color, bg_color)
-            # app_qr.center()
-            # Add a border with bg_color
-            # app_qr.set_style_border_color(bg_color, 0)
-            # app_qr.set_style_border_width(5, 0)
-            # app_qr_data = str("https://fangzoudiu.xcloudtech.com/xiao_jian")
-            # app_qr.update(app_qr_data,len(app_qr_data))
-
-            self.app_label = lv.label(self.meta )
-            self.app_label.set_pos(0, 280)
-            self.app_label.set_size(240, 20)
-            self.app_label.set_text(" ")
-            self.app_label.set_long_mode(lv.label.LONG.WRAP)
-            self.app_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
         imei = EventMesh.publish(constants.EVENT.GET_IMEI)
-        self.app_label.set_text(imei)
-
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-
+        app_label.set_text(imei)
+    
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
@@ -912,74 +1196,70 @@ class AppScreen(Screen):
         
     def btn8_press(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
-
+# -------------------------------------------brightness screen----------------------------------------------------------
+brightness_screen = lv.obj()
+brightness = lv.obj(brightness_screen)
+brightness.center()
+brightness.set_size(240, 320)
+brightness.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+brightness_title = lv.label(brightness)
+brightness_title.set_pos(0, 10)
+brightness_title.set_size(240, 40)
+brightness_title.set_text("屏幕调节")
+brightness_title.set_long_mode(lv.label.LONG.WRAP)
+brightness_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+brightness_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+brightness_label1 = lv.label(brightness)
+brightness_label1.set_pos(10, 70)
+brightness_label1.set_size(230, 40)
+brightness_label1.set_text("亮度:")
+brightness_label1.set_long_mode(lv.label.LONG.WRAP)
+brightness_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+brightness_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+brightness_bar = lv.bar(brightness)
+brightness_bar.set_pos(20, 120)
+brightness_bar.set_size(200, 15)
+brightness_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+brightness_bar.set_mode(lv.bar.MODE.NORMAL)
+brightness_bar.set_value(50, lv.ANIM.OFF)
+brightness_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
+brightness_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+
+brightness_reduce_imgbtn = lv.img(brightness)
+brightness_reduce_imgbtn.set_pos(5, 150)
+brightness_reduce_imgbtn.set_size(110, 46)
+brightness_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+
+brightness_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
+
+brightness_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+brightness_add_imgbtn = lv.img(brightness)
+brightness_add_imgbtn.set_pos(125, 150)
+brightness_add_imgbtn.set_size(110, 46)
+brightness_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+brightness_add_imgbtn.set_src("E:/static/add_btn.png")
+brightness_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 class BrightnessScreen(Screen):
     NAME = "brightness"
-    #屏幕设置
+
     def __init__(self):
         super().__init__()
         self.level = 0
-        self.meta = None
-        
-    def initialization(self):
-        if self.meta == None:
-            self.meta = lv.obj()
-            self.brightness = lv.obj(self.meta)
-            self.brightness.center()
-            self.brightness.set_size(240, 320)
-            self.brightness.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.brightness_title = lv.label(self.brightness)
-            self.brightness_title.set_pos(0, 10)
-            self.brightness_title.set_size(240, 40)
-            self.brightness_title.set_text("屏幕调节")
-            self.brightness_title.set_long_mode(lv.label.LONG.WRAP)
-            self.brightness_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.brightness_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.brightness_label1 = lv.label(self.brightness)
-            self.brightness_label1.set_pos(10, 70)
-            self.brightness_label1.set_size(230, 40)
-            self.brightness_label1.set_text("亮度:")
-            self.brightness_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.brightness_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.brightness_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.brightness_bar = lv.bar(self.brightness)
-            self.brightness_bar.set_pos(20, 120)
-            self.brightness_bar.set_size(200, 15)
-            self.brightness_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-            self.brightness_bar.set_mode(lv.bar.MODE.NORMAL)
-            self.brightness_bar.set_value(50, lv.ANIM.OFF)
-            self.brightness_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.brightness_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-
-            self.brightness_reduce_imgbtn = lv.img(self.brightness)
-            self.brightness_reduce_imgbtn.set_pos(5, 150)
-            self.brightness_reduce_imgbtn.set_size(110, 46)
-            self.brightness_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.brightness_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
-
-            self.brightness_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.brightness_add_imgbtn = lv.img(self.brightness)
-            self.brightness_add_imgbtn.set_pos(125, 150)
-            self.brightness_add_imgbtn.set_size(110, 46)
-            self.brightness_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.brightness_add_imgbtn.set_src("E:/static/add_btn.png")
-            self.brightness_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.brightness_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
+        self.meta = brightness_screen
+        brightness_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
+                                     lv.EVENT.CLICKED, None)
+        brightness_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
                                      lv.EVENT.CLICKED, None)
-            self.brightness_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
-                                        lv.EVENT.CLICKED, None)
-            
+    def initialization(self):
         self.level = EventMesh.publish("get_brightness_level")
         self.show_bar()
-
     def add_level(self, e):
         EventMesh.publish("push_add_brightness_level")
         self.level = EventMesh.publish("get_brightness_level")
@@ -993,12 +1273,9 @@ class BrightnessScreen(Screen):
     def show_bar(self):
         if self.level == None:
             self.level = 5
-        self.brightness_bar.set_value((100 // 10) * self.level, lv.ANIM.OFF)
+        brightness_bar.set_value((100 // 10) * self.level, lv.ANIM.OFF)
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
-        
+    
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
@@ -1014,55 +1291,10 @@ class VolumeScreen(Screen):
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-
-
-            # -------------------------------------------volume screen----------------------------------------------------------
-    def initialization(self):
-        if self.meta == None:
-            self.meta = lv.obj()
-            self.volume = lv.obj(self.meta)
-            self.volume.center()
-            self.volume.set_size(240, 320)
-            self.volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_phone_btn = lv.btn(self.volume)
-            self.volume_phone_btn.set_size(240,40)
-            self.volume_phone_btn.set_pos(0,30)
-            self.volume_phone_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_phone_label = lv.label(self.volume_phone_btn)
-            self.volume_phone_label.set_text("电话铃声")
-            self.volume_phone_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.volume_phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_alarm_btn = lv.btn(self.self.volume)
-            self.volume_alarm_btn.set_size(240,40)
-            self.volume_alarm_btn.set_pos(0,100)
-            self.volume_alarm_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_alarm_label = lv.label(self.volume_alarm_btn)
-            self.volume_alarm_label.set_text("闹钟铃声")
-            self.volume_alarm_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.volume_alarm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_message_btn = lv.btn(self.volume)
-            self.volume_message_btn.set_size(240,40)
-            self.volume_message_btn.set_pos(0,170)
-            self.volume_message_btn.add_style(style_volume_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_message_label = lv.label(self.volume_message_btn)
-            self.volume_message_label.set_text("消息铃声")
-            self.volume_message_label.align(lv.ALIGN.CENTER, 0, 0)
-            self.volume_message_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.volume_phone_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "phonering"}), lv.EVENT.CLICKED, None)
-            self.volume_message_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "msgvolume"}), lv.EVENT.CLICKED, None)
-            self.volume_alarm_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "alarmvolume"}), lv.EVENT.CLICKED, None)
-
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+        self.meta = volume_screen
+        volume_phone_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "phonering"}), lv.EVENT.CLICKED, None)
+        volume_message_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "msgvolume"}), lv.EVENT.CLICKED, None)
+        volume_alarm_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "alarmvolume"}), lv.EVENT.CLICKED, None)
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
@@ -1081,65 +1313,13 @@ class PhoneringScreen(Screen):
     def __init__(self):
         super().__init__()
         self.level = 0
-        self.meta = None
-        
-    def initialization(self):
-        if self.meta == None:
-            self.meta = lv.obj()
-            self.phonering = lv.obj(self.meta)
-            self.phonering.center()
-            self.phonering.set_size(240, 320)
-            self.phonering.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.phonering_title = lv.label(self.phonering)
-            self.phonering_title.set_pos(0, 10)
-            self.phonering_title.set_size(240, 40)
-            self.phonering_title.set_text("电话铃声")
-            self.phonering_title.set_long_mode(lv.label.LONG.WRAP)
-            self.phonering_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.phonering_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.phonering_label1 = lv.label(self.phonering)
-            self.phonering_label1.set_pos(10, 70)
-            self.phonering_label1.set_size(230, 40)
-            self.phonering_label1.set_text("电话铃声:")
-            self.phonering_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.phonering_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.phonering_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.phonering_bar = lv.bar(self.phonering)
-            self.phonering_bar.set_pos(20, 120)
-            self.phonering_bar.set_size(200, 15)
-            self.phonering_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-            self.phonering_bar.set_mode(lv.bar.MODE.NORMAL)
-            self.phonering_bar.set_value(50, lv.ANIM.OFF)
-            self.phonering_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.phonering_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-
-            self.phonering_reduce_imgbtn = lv.img(self.phonering)
-            self.phonering_reduce_imgbtn.set_pos(0, 150)
-            self.phonering_reduce_imgbtn.set_size(110, 46)
-            self.phonering_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.phonering_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
-            self.phonering_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.phonering_add_imgbtn = lv.img(self.phonering)
-            self.phonering_add_imgbtn.set_pos(120, 150)
-            self.phonering_add_imgbtn.set_size(110, 46)
-            self.phonering_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.phonering_add_imgbtn.set_src("E:/static/add_btn.png")
-
-            self.phonering_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.phonering_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
+        self.meta = phonering_screen
+        phonering_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
                                      lv.EVENT.CLICKED, None)
-            self.phonering_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
-                                        lv.EVENT.CLICKED, None)
-            self.phonering_add_imgbtn.set_ext_click_area(20)
-            self.phonering_reduce_imgbtn.set_ext_click_area(20)
-        self.level = EventMesh.publish("get_phonering_level")
-        self.show_bar()
+        phonering_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
+                                     lv.EVENT.CLICKED, None)
+        phonering_add_imgbtn.set_ext_click_area(20)
+        phonering_reduce_imgbtn.set_ext_click_area(20)
 
     def add_level(self, e):
         EventMesh.publish("push_add_phonering_level")
@@ -1152,11 +1332,11 @@ class PhoneringScreen(Screen):
         self.show_bar()
 
     def show_bar(self):
-        self.phonering_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
+        phonering_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+    def initialization(self):
+        self.level = EventMesh.publish("get_phonering_level")
+        self.show_bar()
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "volume"})
@@ -1180,67 +1360,11 @@ class AlarmvolumeScreen(Screen):
     def __init__(self):
         super().__init__()
         self.level = 0
-        self.meta = None
-        
-    def initialization(self):
-        if self.meta == None:
-        # -------------------------------------------alarmvolume screen----------------------------------------------------------
-            self.meta = lv.obj()
-            self.alarmvolume = lv.obj(self.meta)
-            self.alarmvolume.center()
-            self.alarmvolume.set_size(240, 320)
-            self.alarmvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.alarmvolume_title = lv.label(self.alarmvolume)
-            self.alarmvolume_title.set_pos(0, 10)
-            self.alarmvolume_title.set_size(240, 40)
-            self.alarmvolume_title.set_text("闹钟铃声")
-            self.alarmvolume_title.set_long_mode(lv.label.LONG.WRAP)
-            self.alarmvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.alarmvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.alarmvolume_label1 = lv.label(self.alarmvolume)
-            self.alarmvolume_label1.set_pos(10, 70)
-            self.alarmvolume_label1.set_size(230, 40)
-            self.alarmvolume_label1.set_text("闹钟铃声:")
-            self.alarmvolume_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.alarmvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.alarmvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.alarmvolume_bar = lv.bar(self.alarmvolume)
-            self.alarmvolume_bar.set_pos(20, 120)
-            self.alarmvolume_bar.set_size(200, 15)
-            self.alarmvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-            self.alarmvolume_bar.set_mode(lv.bar.MODE.NORMAL)
-            self.alarmvolume_bar.set_value(50, lv.ANIM.OFF)
-            self.alarmvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.alarmvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-
-            self.alarmvolume_reduce_imgbtn = lv.img(self.alarmvolume)
-            self.alarmvolume_reduce_imgbtn.set_pos(5, 150)
-            self.alarmvolume_reduce_imgbtn.set_size(110, 46)
-            self.alarmvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.alarmvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
-
-            self.alarmvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.alarmvolume_add_imgbtn = lv.img(self.alarmvolume)
-            self.alarmvolume_add_imgbtn.set_pos(125, 150)
-            self.alarmvolume_add_imgbtn.set_size(110, 46)
-            self.alarmvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.alarmvolume_add_imgbtn.set_src("E:/static/add_btn.png")
-            self.alarmvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
-                                        lv.EVENT.CLICKED, None)
-            self.alarmvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
-                                        lv.EVENT.CLICKED, None)
-        
-        self.alarmvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-        self.level = EventMesh.publish("get_alarmvolume_level")
-        self.show_bar()
-        
+        self.meta = alarmvolume_screen
+        alarmvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
+                                     lv.EVENT.CLICKED, None)
+        alarmvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
+                                     lv.EVENT.CLICKED, None)
 
     def add_level(self, e):
         EventMesh.publish("push_add_alarmvolume_level")
@@ -1253,12 +1377,12 @@ class AlarmvolumeScreen(Screen):
         self.show_bar()
 
     def show_bar(self):
-        self.alarmvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
-
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+        alarmvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
 
+    def initialization(self):
+        self.level = EventMesh.publish("get_alarmvolume_level")
+        self.show_bar()
+    
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "volume"})
 
@@ -1276,68 +1400,12 @@ class MsgvolumeScreen(Screen):
     def __init__(self):
         super().__init__()
         self.level = 0
-        self.meta = None
-        
-    def initialization(self):
-        if self.meta == None:
-            # -------------------------------------------msgvolume screen----------------------------------------------------------
-            self.meta = lv.obj()
-            self.msgvolume = lv.obj(self.meta)
-            self.msgvolume.center()
-            self.msgvolume.set_size(240, 320)
-            self.msgvolume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.msgvolume_title = lv.label(self.msgvolume)
-            self.msgvolume_title.set_pos(0, 10)
-            self.msgvolume_title.set_size(240, 40)
-            self.msgvolume_title.set_text("消息铃声")
-            self.msgvolume_title.set_long_mode(lv.label.LONG.WRAP)
-            self.msgvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.msgvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.msgvolume_label1 = lv.label(self.msgvolume)
-            self.msgvolume_label1.set_pos(10, 70)
-            self.msgvolume_label1.set_size(230, 40)
-            self.msgvolume_label1.set_text("消息铃声:")
-            self.msgvolume_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.msgvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.msgvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.msgvolume_bar = lv.bar(self.msgvolume)
-            self.msgvolume_bar.set_pos(20, 120)
-            self.msgvolume_bar.set_size(200, 15)
-            self.msgvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-            self.msgvolume_bar.set_mode(lv.bar.MODE.NORMAL)
-            self.msgvolume_bar.set_value(50, lv.ANIM.OFF)
-            self.msgvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.msgvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-
-            self.msgvolume_reduce_imgbtn = lv.img(self.msgvolume)
-            self.msgvolume_reduce_imgbtn.set_pos(5, 150)
-            self.msgvolume_reduce_imgbtn.set_size(110, 46)
-            self.msgvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.msgvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
-
-            self.msgvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.msgvolume_add_imgbtn = lv.img(self.msgvolume)
-            self.msgvolume_add_imgbtn.set_pos(125, 150)
-            self.msgvolume_add_imgbtn.set_size(110, 46)
-            self.msgvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-
-            self.msgvolume_add_imgbtn.set_src("E:/static/add_btn.png")
-
-            self.msgvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.msgvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
+        self.meta = msgvolume_screen
+        msgvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e),
                                      lv.EVENT.CLICKED, None)
-            self.msgvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
+        msgvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e),
                                      lv.EVENT.CLICKED, None)
 
-        self.level = EventMesh.publish("get_msgvolume_level")
-        self.show_bar()
-
     def add_level(self, e):
         EventMesh.publish("push_add_msgvolume_level")
         self.level = EventMesh.publish("get_msgvolume_level")
@@ -1349,11 +1417,11 @@ class MsgvolumeScreen(Screen):
         self.show_bar()
 
     def show_bar(self):
-        self.msgvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
+        msgvolume_bar.set_value((100 // 7) * self.level, lv.ANIM.OFF)
 
-    def Close(self):
-        self.meta.delete()
-        self.meta = None
+    def initialization(self):
+        self.level = EventMesh.publish("get_msgvolume_level")
+        self.show_bar()
     
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "volume"})
@@ -1366,73 +1434,70 @@ class MsgvolumeScreen(Screen):
 
 
 
-
+#-----------------------------------------Total--volum-------------------------------
+
+volume_adjust_screen = lv.obj()
+volume_adjust_volume = lv.obj(volume_adjust_screen)
+volume_adjust_volume.center()
+volume_adjust_volume.set_size(240, 320)
+volume_adjust_volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+totalvolume_title = lv.label(volume_adjust_volume)
+totalvolume_title.set_pos(0, 10)
+totalvolume_title.set_size(240, 40)
+totalvolume_title.set_text("铃声调节")
+totalvolume_title.set_long_mode(lv.label.LONG.WRAP)
+totalvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+totalvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+totalvolume_label1 = lv.label(volume_adjust_volume)
+totalvolume_label1.set_pos(10, 70)
+totalvolume_label1.set_size(230, 40)
+totalvolume_label1.set_text("铃声:")
+totalvolume_label1.set_long_mode(lv.label.LONG.WRAP)
+totalvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+totalvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+totalvolume_bar = lv.bar(volume_adjust_volume)
+totalvolume_bar.set_pos(20, 120)
+totalvolume_bar.set_size(200, 15)
+totalvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+totalvolume_bar.set_mode(lv.bar.MODE.NORMAL)
+totalvolume_bar.set_value(50, lv.ANIM.OFF)
+totalvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
+totalvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
+
+totalvolume_reduce_imgbtn = lv.img(volume_adjust_volume)
+totalvolume_reduce_imgbtn.set_pos(5, 150)
+totalvolume_reduce_imgbtn.set_size(110, 46)
+totalvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+totalvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
+totalvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+totalvolume_add_imgbtn = lv.img(volume_adjust_volume)
+totalvolume_add_imgbtn.set_pos(125, 150)
+totalvolume_add_imgbtn.set_size(110, 46)
+totalvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+totalvolume_add_imgbtn.set_src("E:/static/add_btn.png")
+totalvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 class totalvolumeScreen(Screen):
     NAME = "totalvolume"
 
     def __init__(self):
         super().__init__()
-        self.meta = None
-        
+        self.meta = volume_adjust_screen
+        totalvolume_add_imgbtn.add_event_cb(lambda e: self.add_volum_size(e),
+                                     lv.EVENT.CLICKED, None)
+        totalvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_volum_size(e),
+                                     lv.EVENT.CLICKED, None)
         self.read_data = {}
         self.volum_size = 8
         self.aud = audio.Audio(0)
         self.aud.set_pa(Pin.GPIO29)
         
     def initialization(self):
-        #-----------------------------------------Total--volum-------------------------------
-        if self.meta == None:
-            self.meta = lv.obj()
-            self.volume_adjust_volume = lv.obj(self.meta)
-            self.volume_adjust_volume.center()
-            self.volume_adjust_volume.set_size(240, 320)
-            self.volume_adjust_volume.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.totalvolume_title = lv.label(self.volume_adjust_volume)
-            self.totalvolume_title.set_pos(0, 10)
-            self.totalvolume_title.set_size(240, 40)
-            self.totalvolume_title.set_text("铃声调节")
-            self.totalvolume_title.set_long_mode(lv.label.LONG.WRAP)
-            self.totalvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-            self.totalvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.totalvolume_label1 = lv.label(self.volume_adjust_volume)
-            self.totalvolume_label1.set_pos(10, 70)
-            self.totalvolume_label1.set_size(230, 40)
-            self.totalvolume_label1.set_text("铃声:")
-            self.totalvolume_label1.set_long_mode(lv.label.LONG.WRAP)
-            self.totalvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-            self.totalvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            self.totalvolume_bar = lv.bar(self.volume_adjust_volume)
-            self.totalvolume_bar.set_pos(20, 120)
-            self.totalvolume_bar.set_size(200, 15)
-            self.totalvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-            self.totalvolume_bar.set_mode(lv.bar.MODE.NORMAL)
-            self.totalvolume_bar.set_value(50, lv.ANIM.OFF)
-            self.totalvolume_bar.add_style(style_bar, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.totalvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
-
-            self.totalvolume_reduce_imgbtn = lv.img(self.volume_adjust_volume)
-            self.totalvolume_reduce_imgbtn.set_pos(5, 150)
-            self.totalvolume_reduce_imgbtn.set_size(110, 46)
-            self.totalvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.totalvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
-            self.totalvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-            self.totalvolume_add_imgbtn = lv.img(self.volume_adjust_volume)
-            self.totalvolume_add_imgbtn.set_pos(125, 150)
-            self.totalvolume_add_imgbtn.set_size(110, 46)
-            self.totalvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-            self.totalvolume_add_imgbtn.set_src("E:/static/add_btn.png")
-            self.totalvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-            self.totalvolume_add_imgbtn.add_event_cb(lambda e: self.add_volum_size(e),
-                                     lv.EVENT.CLICKED, None)
-            self.totalvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_volum_size(e),
-                                            lv.EVENT.CLICKED, None)
-
         self.read_data = EventMesh.publish("get_storage_data")
         print("self.read_data:{}".format(self.read_data))
         num = EventMesh.publish("get_volum_size")
@@ -1455,7 +1520,7 @@ class totalvolumeScreen(Screen):
         self.show_bar(1)
 
     def show_bar(self,msg):
-        self.totalvolume_bar.set_value((100 // 11) * self.volum_size, lv.ANIM.OFF)
+        totalvolume_bar.set_value((100 // 11) * self.volum_size, lv.ANIM.OFF)
         if msg == 1:
             self.read_data = EventMesh.publish("get_storage_data")
             self.read_data["volum"] = self.volum_size
@@ -1469,8 +1534,7 @@ class totalvolumeScreen(Screen):
  
     def Close(self):
         self.aud.stop()
-        self.meta.delete()
-        self.meta = None
+
     def done_return(self):
         self.aud.stop()
         EventMesh.publish("load_screen", {"screen": "setting"})