修改省电模式表盘UI 715/2 715/head
authorCaisking <3449750381@qq.com>
Sat, 17 Aug 2024 10:30:26 +0000 (18:30 +0800)
committerCaisking <3449750381@qq.com>
Sat, 17 Aug 2024 10:30:26 +0000 (18:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveBatPresenter.h
code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveBatView.h
code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveEleModel.h
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatView.cpp
code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveEleModel.cpp

index aa35ea5..79cba45 100644 (file)
@@ -1,3 +1,9 @@
+/***\r
+ * @Date: 2024-04-15 10:55:58\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-08-17 16:00:26\r
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/include/SaveBatPresenter.h\r
+ */\r
 \r
 #ifndef _SAVEBAT_PRESENTER_H\r
 #define _SAVEBAT_PRESENTER_H\r
@@ -14,7 +20,8 @@ namespace OHOS
                              public UIView::OnClickListener,\r
                              public UIView::OnDragListener,\r
                              public UIView::OnLongPressListener,\r
-                             public ModelListenerSample\r
+                             public ModelListenerSample,\r
+                             public UIView::OnTouchListener\r
     {\r
     public:\r
         SaveBatPresenter();\r
@@ -34,6 +41,8 @@ namespace OHOS
         bool OnClick(UIView &view, const ClickEvent &event) override;\r
         bool OnDrag(UIView &view, const DragEvent &event) override;\r
         bool OnLongPress(UIView &view, const LongPressEvent &event);\r
+        bool OnPress(UIView &view, const PressEvent &event);\r
+        bool OnRelease(UIView &view, const ReleaseEvent &event);\r
     };\r
 \r
 } // namespace OHOS\r
index 5f563e6..1b6be41 100644 (file)
@@ -18,6 +18,8 @@
 #include "components/ui_button.h"\r
 #include "components/ui_digital_clock.h"\r
 #include "components/ui_box_progress.h"\r
+#include "components/ui_circle_progress.h"\r
+\r
 #include "SaveBatPresenter.h"\r
 #include <thread>\r
 \r
@@ -42,25 +44,32 @@ namespace OHOS
         UIView *GetView();\r
 \r
         void RefreshView();\r
+\r
         void InitBatteryView();\r
         void InitTimeView();\r
         void InitButtonView();\r
+        void InitShowBackView();\r
+\r
+        void UpdateView();\r
 \r
     private:\r
         UIView::OnDragListener *draglistener{nullptr};\r
 \r
         SaveBatView(SaveBatView &&) = delete;\r
         SaveBatView &operator=(SaveBatView &&) = delete;\r
-\r
-        UILabel *timelabel = nullptr; // 时间\r
-        UILabel *datelabel = nullptr; // 日期标签\r
-        UILabel *weeklabel = nullptr; // 星期标签\r
-\r
+        /*省电界面*/\r
+        UILabel *timelabel = nullptr;            // 时间\r
+        UILabel *datelabel = nullptr;            // 日期标签\r
+        UILabel *weeklabel = nullptr;            // 星期标签\r
         UILabel *batterylabel = nullptr;         // 电量标签\r
         UIBoxProgress *batteryprogress{nullptr}; // 电池进度条\r
         UIImageView *batteryiamge = nullptr;     // 电池框图标\r
-\r
-        UIButton *button_exit = nullptr; // 退出按键\r
+        UIButton *button_exit = nullptr;         // 退出按键\r
+        /*退出界面*/\r
+        UILabel *curren_timelabel{nullptr};\r
+        UILabel *countlabel{nullptr};\r
+        UIImageView *wathchiamge = nullptr;\r
+        UICircleProgress *backprogress{nullptr};\r
     };\r
 } // namespace OHOS\r
 \r
index 1d056ce..044c073 100644 (file)
@@ -1,24 +1,36 @@
+#ifndef SAVE_ELE_MODEL_H  
+#define SAVE_ELE_MODEL_H  
 
-#ifndef SaveEle_MODEL_H
-#define SaveEle_MODEL_H
-
-namespace OHOS
-{
-    class SaveEleModel
-    {
-    public:
-        static SaveEleModel *GetInstance(void);
-        int GetChargeStuaut();
-        void SetChargeStuaut(int chargestuaut);
-
-    private:
-        SaveEleModel() = default;
-        ~SaveEleModel() {}
-        SaveEleModel(const SaveEleModel &) = delete;
-        SaveEleModel &operator=(const SaveEleModel &) = delete;
-
-        int ChargeStuaut = 0; // 充电状态
-    };
-}
-
-#endif
\ No newline at end of file
+namespace OHOS  
+{  
+    class SaveEleModel  
+    {  
+    public:  
+        // 获取单例实例  
+        static SaveEleModel *GetInstance();  
+
+        // 获取充电状态  
+        int GetChargeStatus();  
+
+        // 设置充电状态  
+        void SetChargeStatus(int chargeStatus);  
+
+        // 获取视图状态  
+        bool GetViewState() const { return viewState; }  
+
+        // 设置视图状态  
+        void SetViewState(bool state) { viewState = state; }  
+
+    private:  
+        SaveEleModel() = default;   // 默认构造函数  
+        ~SaveEleModel() {}          // 默认析构函数  
+
+        SaveEleModel(const SaveEleModel &) = delete;             // 禁止拷贝构造  
+        SaveEleModel &operator=(const SaveEleModel &) = delete;  // 禁止赋值操作  
+
+        int chargeStatus = 0;       // 充电状态  
+        bool viewState{false};      // 视图状态  
+    };  
+}  
+
+#endif // SAVE_ELE_MODEL_H
\ No newline at end of file
index c6bdb46..349b569 100644 (file)
@@ -1,17 +1,19 @@
-/*** \r
+/***\r
  * @Date: 2024-04-15 10:55:58\r
  * @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-08-17 11:49:58\r
+ * @LastEditTime: 2024-08-17 15:08:53\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveBatPresenter.cpp\r
  */\r
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
-#include"ui_resource_string.h"\r
+#include "ui_resource_string.h"\r
 #include "NativeAbility.h"\r
 \r
 #include "saveele/include/SaveBatPresenter.h"\r
 #include "saveele/include/SaveEleModel.h"\r
+\r
+#include "string.h"\r
 namespace OHOS\r
 {\r
 \r
@@ -56,7 +58,7 @@ namespace OHOS
 \r
     void SaveBatPresenter::OnStop(void)\r
     {\r
-\r
+        SaveEleModel::GetInstance()->SetViewState(false);\r
         Presenter<SaveBatView>::OnStop();\r
     }\r
 \r
@@ -69,12 +71,17 @@ namespace OHOS
 \r
     bool SaveBatPresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
-        \r
+        if (strcmp(view.GetViewId(), "button_exit") == 0)\r
+        {\r
+            /*点击*/\r
+            bool state = SaveEleModel::GetInstance()->GetViewState();\r
+            SaveEleModel::GetInstance()->SetViewState(!state);\r
+            SaveBatView::GetInstance()->UpdateView();\r
+        }\r
         return true;\r
     }\r
     bool SaveBatPresenter::OnLongPress(UIView &view, const LongPressEvent &event)\r
     {\r
-        // 1.长按三秒button1\r
         // 2.退出 button1NativeAbility::GetInstance().ChangeSlice(VIEW_SAVEELE);\r
         // 3.返回 true 以消耗点击事件\r
         if (strcmp(view.GetViewId(), "button_exit") == 0)\r
@@ -83,9 +90,24 @@ namespace OHOS
         }\r
         return true;\r
     }\r
+    bool SaveBatPresenter::OnPress(UIView &view, const PressEvent &event)\r
+    {\r
+\r
+        return true;\r
+    }\r
+    bool SaveBatPresenter::OnRelease(UIView &view, const ReleaseEvent &event)\r
+    {\r
+        if (strcmp(view.GetViewId(), "button_exit") == 0)\r
+        {\r
+            /*释放*/\r
+            SaveEleModel::GetInstance()->SetViewState(false);\r
+            SaveBatView::GetInstance()->UpdateView();\r
+        }\r
+        return true;\r
+    }\r
     void SaveBatPresenter::ExitView(void)\r
     {\r
-        if (SaveEleModel::GetInstance()->GetChargeStuaut())\r
+        if (SaveEleModel::GetInstance()->GetChargeStatus())\r
         {\r
             NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
         }\r
index bf4bb48..e0a4b44 100644 (file)
@@ -1,6 +1,7 @@
 \r
 \r
 #include "saveele/include/SaveBatView.h"\r
+#include "saveele/include/SaveEleModel.h"\r
 \r
 #include "common/image_cache_manager.h"\r
 #include "UiConfig.h"\r
@@ -24,6 +25,8 @@ std::string Cnweekday[] = {"周天", "周一", "周二", "周三", "周四", "
 \r
 static constexpr const char *WHITE_BATTERY = "/user/res/Battery/Battery-E.bin";\r
 static constexpr const char *SAVE_BUTTON = "/user/res/Save_Ele/finger.bin";\r
+static constexpr const char *BACK_BUTTON = "/user/res/Save_Ele/finger2.bin";\r
+static constexpr const char *SAVE_WATHCH = "/user/res/Save_Ele/wathch.bin";\r
 \r
 namespace OHOS\r
 {\r
@@ -76,7 +79,7 @@ namespace OHOS
         // 构建日期和时间字符串\r
         std::string dateStr =\r
             (month < 10 ? "0" : "") + std::to_string(month) + "-" +\r
-            (day < 10 ? "0" : "") + std::to_string(day)+" "+weekStr;\r
+            (day < 10 ? "0" : "") + std::to_string(day) + " " + weekStr;\r
 \r
         std::string stringtime =\r
             (hour < 10 ? "0" : "") + std::to_string(hour) + ":" +\r
@@ -195,9 +198,105 @@ namespace OHOS
         button_exit->SetStyleForState(STYLE_BACKGROUND_COLOR, 0xff000000, UIButton::PRESSED);\r
 \r
         button_exit->SetOnLongPressListener(presenter_);\r
+        // button_exit->SetOnClickListener(presenter_);\r
         container_->Add(button_exit);\r
     }\r
+    void SaveBatView::InitShowBackView()\r
+    {\r
+        // 时间\r
+        if (curren_timelabel == nullptr)\r
+        {\r
+            curren_timelabel = new UILabel();\r
+        }\r
+        curren_timelabel->SetPosition(181, 52);\r
+        curren_timelabel->Resize(200, 60);\r
+        curren_timelabel->SetViewId("label4");\r
+        curren_timelabel->SetStyle(STYLE_TEXT_FONT, 40);\r
+        curren_timelabel->SetText("12:10");\r
+        curren_timelabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+        curren_timelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        curren_timelabel->SetRollSpeed(0);\r
+        curren_timelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+        container_->Add(curren_timelabel);\r
+        curren_timelabel->SetVisible(false);\r
+\r
+        // 圆形进度条\r
+        if (backprogress == nullptr)\r
+        {\r
+            backprogress = new UICircleProgress();\r
+        }\r
+        backprogress->SetPosition(143, 143);\r
+        backprogress->Resize(183, 186);\r
+        backprogress->SetViewId("circleProgress1");\r
+        backprogress->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
+        backprogress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
+        backprogress->SetBackgroundStyle(STYLE_LINE_WIDTH, 20);\r
+        backprogress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xff2195F6);\r
+        backprogress->SetForegroundStyle(STYLE_BORDER_COLOR, 0xff000000);\r
+        backprogress->SetForegroundStyle(STYLE_LINE_COLOR, 0xff18ef05);\r
+        backprogress->SetForegroundStyle(STYLE_LINE_WIDTH, 20);\r
+        backprogress->SetCenterPosition(92, 93);\r
+        backprogress->SetRadius(90);\r
+        backprogress->SetEndAngle(359);\r
+        backprogress->SetValue(30);\r
+        container_->Add(backprogress);\r
+        backprogress->SetVisible(false);\r
+\r
+        // 手表image\r
+        if (wathchiamge == nullptr)\r
+        {\r
+            wathchiamge = new UIImageView();\r
+        }\r
+        wathchiamge->SetPosition(188, 182);\r
+        wathchiamge->Resize(100, 100);\r
+        wathchiamge->SetViewId("image1");\r
+        wathchiamge->SetSrc(SAVE_WATHCH);\r
+        container_->Add(wathchiamge);\r
+        wathchiamge->SetVisible(false);\r
+\r
+        // 倒计时\r
+        if (countlabel == nullptr)\r
+        {\r
+            countlabel = new UILabel();\r
+        }\r
+        countlabel->SetPosition(221, 212);\r
+        countlabel->Resize(200, 60);\r
+        countlabel->SetViewId("label3");\r
+        countlabel->SetStyle(STYLE_TEXT_FONT, 40);\r
+        countlabel->SetText("3");\r
+        countlabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
+        countlabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
+        countlabel->SetRollSpeed(0);\r
+        countlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+        container_->Add(countlabel);\r
+        countlabel->SetVisible(false);\r
+    }\r
 \r
+    // 更新当前界面状态\r
+    void SaveBatView ::UpdateView()\r
+    {\r
+        bool state = SaveEleModel::GetInstance()->GetViewState();\r
+\r
+        /*原界面*/\r
+        timelabel->SetVisible(!state);\r
+        datelabel->SetVisible(!state);\r
+        weeklabel->SetVisible(!state);\r
+        batterylabel->SetVisible(!state);\r
+        batteryprogress->SetVisible(!state);\r
+        batteryiamge->SetVisible(!state);\r
+\r
+        /*退出界面*/\r
+        curren_timelabel->SetVisible(state);\r
+        countlabel->SetVisible(state);\r
+        wathchiamge->SetVisible(state);\r
+        backprogress->SetVisible(state);\r
+        /*\r
+            if (state)\r
+                button_exit->SetImageSrc(BACK_BUTTON, BACK_BUTTON);\r
+            else\r
+                button_exit->SetImageSrc(SAVE_BUTTON, SAVE_BUTTON);\r
+        */\r
+    }\r
     void SaveBatView::OnStart()\r
     {\r
         container_ = new UIViewGroup();\r
@@ -205,6 +304,7 @@ namespace OHOS
         {\r
             return;\r
         }\r
+\r
         container_->SetPosition(0, 0);\r
         container_->SetWidth(Screen::GetInstance().GetWidth());\r
         container_->SetHeight(Screen::GetInstance().GetHeight());\r
@@ -214,20 +314,19 @@ namespace OHOS
         InitBatteryView();\r
         InitTimeView();\r
         InitButtonView();\r
+        // InitShowBackView();\r
 \r
         RootView::GetInstance()->Add(container_);\r
     }\r
 \r
     void SaveBatView::OnSetUpView()\r
     {\r
-\r
         View<SaveBatPresenter>::OnSetUpView();\r
         Draw();\r
     }\r
 \r
     void SaveBatView::OnTearDownView()\r
     {\r
-\r
         View<SaveBatPresenter>::OnTearDownView();\r
         return;\r
     }\r
index 8f7d9f6..072adcf 100644 (file)
@@ -1,3 +1,9 @@
+/*** 
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-08-17 16:15:17
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/saveele/src/SaveEleModel.cpp
+ */
 #include "saveele/include/SaveEleModel.h"
 
 namespace OHOS
@@ -8,12 +14,12 @@ namespace OHOS
         static SaveEleModel instance;
         return &instance;
     }
-    int SaveEleModel::GetChargeStuaut()
+    int SaveEleModel::GetChargeStatus()
     {
-        return ChargeStuaut;
+        return chargeStatus;
     }
-    void SaveEleModel::SetChargeStuaut(int chargestuaut)
+    void SaveEleModel::SetChargeStatus(int chargeStatus)
     {
-        ChargeStuaut = chargestuaut;
+        chargeStatus = chargeStatus;
     }
 }
\ No newline at end of file