部分训练界面增加按键 417/3
authorCaisking <3449750381@qq.com>
Sat, 29 Jun 2024 10:15:52 +0000 (18:15 +0800)
committerCaisking <3449750381@qq.com>
Sat, 29 Jun 2024 10:15:52 +0000 (18:15 +0800)
12 files changed:
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingNomalPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingSetPresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingSetPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingView.cpp

index 106685d..bc103aa 100644 (file)
@@ -149,7 +149,6 @@ namespace OHOS
         }
         return true;
 #endif
-        return true;
     }
 
     bool HeartPresenter::OnClick(UIView &view, const ClickEvent &event)
index 2a0257a..197d95d 100644 (file)
@@ -1,4 +1,9 @@
-
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-29 17:46:18
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingEnddataPresenter.h
+ */
 
 #ifndef _TraingEnddata_PRESENTER_H
 #define _TraingEnddata_PRESENTER_H
@@ -11,8 +16,9 @@ namespace OHOS
     class TraingEnddataView;
 
     class TraingEnddataPresenter : public Presenter<TraingEnddataView>,
-                                public UIView::OnClickListener,
-                                public UIView::OnDragListener
+                                   public UIView::OnClickListener,
+                                   public RootView::OnKeyActListener,
+                                   public UIView::OnDragListener
     {
     public:
         TraingEnddataPresenter();
@@ -28,7 +34,8 @@ namespace OHOS
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
         bool OnClick(UIView &view, const ClickEvent &event) override;
         bool OnDrag(UIView &view, const DragEvent &event) override;
-        //bool OnDragEnd(UIView& view, const DragEvent& event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
+        // bool OnDragEnd(UIView& view, const DragEvent& event) override;
     };
 } // namespace OHOS
 
index d2e6356..cb7e898 100644 (file)
@@ -1,4 +1,4 @@
-/*** 
+/***
  * @Date: 2024-04-15 10:55:58
  * @LastEditors: Caisking 3449750381@qq.com
  * @LastEditTime: 2024-04-17 14:18:05
@@ -17,6 +17,7 @@ namespace OHOS
 
     class TraingNomalPresenter : public Presenter<TraingNomalView>,
                                  public UIView::OnClickListener,
+                                 public RootView::OnKeyActListener,
                                  public UIView::OnDragListener
     {
     public:
@@ -34,6 +35,7 @@ namespace OHOS
         // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
         bool OnClick(UIView &view, const ClickEvent &event) override;
         bool OnDrag(UIView &view, const DragEvent &event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
         // bool OnDragEnd(UIView& view, const DragEvent& event) override;
     };
 } // namespace OHOS
index 7bf2b69..50dc637 100644 (file)
@@ -1,3 +1,9 @@
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-06-29 17:42:47
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingPresenter.h
+ */
 
 #ifndef _Traing_PRESENTER_H
 #define _Traing_PRESENTER_H
@@ -11,7 +17,8 @@ namespace OHOS
 
     class TraingPresenter : public Presenter<TraingView>,
                             public UIView::OnClickListener,
-                            public UIView::OnDragListener
+                            public UIView::OnDragListener,
+                            public RootView::OnKeyActListener
     {
     public:
         TraingPresenter();
@@ -29,6 +36,7 @@ namespace OHOS
         bool OnClick(UIView &view, const ClickEvent &event) override;
         bool OnDrag(UIView &view, const DragEvent &event) override;
         bool OnDragEnd(UIView &view, const DragEvent &event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
     };
 } // namespace OHOS
 
index 114d088..9d43f68 100644 (file)
@@ -25,6 +25,7 @@ namespace OHOS
     class TraingSetView;
     class TraingSetPresenter : public Presenter<TraingSetView>,
                                public UIView::OnClickListener,
+                               public RootView::OnKeyActListener,
                                public UIView::OnDragListener
     {
     public:
@@ -37,7 +38,7 @@ namespace OHOS
         void OnStop() override;
 
         static TraingSetPresenter *GetInstance();
-        
+
         const char *GetButtonIdFromCard(int cardID);
         int GetTagFromCard(int cardID);
         ExerciseTag GetExerciseTagFromCard(int cardID);
@@ -47,6 +48,7 @@ namespace OHOS
         bool OnClick(UIView &view, const ClickEvent &event) override;
         bool OnDrag(UIView &view, const DragEvent &event) override;
         bool OnDragEnd(UIView &view, const DragEvent &event) override;
+        bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
     };
 } // namespace OHOS
 
index 6d2b730..b6c37c0 100644 (file)
@@ -20,6 +20,9 @@
 #include "components/ui_label_ext.h"
 #include "language/font/ui_resource_string.h"
 #include "NativeAbility.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
 
 #include <iostream>
 #include <chrono>
@@ -94,4 +97,16 @@ namespace OHOS
         }
         return true;
     }
+    bool TraingEnddataPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+    {
+        unsigned short keyID = event.GetKeyId();
+        unsigned short keyState = event.GetState();
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+        {
+            // 回退
+            NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+        }
+        return true;
+    }
 }
index 932b883..ee598e0 100644 (file)
@@ -277,7 +277,7 @@ namespace OHOS
             delete scrollView_;
             scrollView_ = nullptr;
         }
-        
+
         delete container_;
         container_ = nullptr;
     }
@@ -383,6 +383,10 @@ namespace OHOS
         PreLoad();
         InitData();
         RootView::GetInstance()->Add(container_);
+
+        // 增加按键监听
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingEnddataPresenter::GetInstance();
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);
     }
 
     void TraingEnddataView::OnSetUpView()
index 978d9ef..342df01 100644 (file)
@@ -4,6 +4,10 @@
 #include "components/ui_label_ext.h"\r
 #include "language/font/ui_resource_string.h"\r
 #include "NativeAbility.h"\r
+#include "KeyInputListener.h"\r
+#include "custom_utils.h"\r
+#include "common/key_code.h"\r
+\r
 \r
 #include <iostream>\r
 #include <chrono>\r
@@ -89,4 +93,16 @@ namespace OHOS
         }\r
         return true;\r
     }\r
+    bool TraingNomalPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+    {\r
+        unsigned short keyID = event.GetKeyId();\r
+        unsigned short keyState = event.GetState();\r
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        {\r
+            // 回退\r
+            NativeAbility::GetInstance().Back();\r
+        }\r
+        return true;\r
+    }\r
 }\r
index 2adc8a9..3ee8f3b 100644 (file)
@@ -122,6 +122,10 @@ namespace OHOS
 
         PreLoad();
         RootView::GetInstance()->Add(container_);
+
+        // 增加按键监听
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingNomalPresenter::GetInstance();
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);
     }
 
     void TraingNomalView::OnSetUpView()
index 70a09ba..9e71557 100644 (file)
@@ -9,6 +9,9 @@
 #include "components/ui_label_ext.h"
 #include "language/font/ui_resource_string.h"
 #include "NativeAbility.h"
+#include "KeyInputListener.h"
+#include "custom_utils.h"
+#include "common/key_code.h"
 
 #include <iostream>
 #include <chrono>
@@ -98,4 +101,18 @@ namespace OHOS
         TraingModel::GetInstance()->SetSportType(Exercisetype::FITNESS);
         return true;
     }
+
+    // 增加按键事件
+    bool TraingPresenter::OnKeyAct(UIView &view, const KeyEvent &event)
+    {
+        unsigned short keyID = event.GetKeyId();
+        unsigned short keyState = event.GetState();
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)
+        {
+            // 回退
+            NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TransitionType::TRANSITION_ZOOM);
+        }
+        return true;
+    }
 }
index 054c104..b47137d 100644 (file)
@@ -8,6 +8,9 @@
 #include "components/ui_label_ext.h"\r
 #include "language/font/ui_resource_string.h"\r
 #include "NativeAbility.h"\r
+#include "KeyInputListener.h"\r
+#include "custom_utils.h"\r
+#include "common/key_code.h"\r
 \r
 #include <iostream>\r
 #include <chrono>\r
@@ -71,7 +74,27 @@ namespace OHOS
     {\r
         return true;\r
     }\r
-\r
+    // 增加按键事件\r
+    bool TraingSetPresenter::OnKeyAct(UIView &view, const KeyEvent &event)\r
+    {\r
+        int CardID = TraingSetView::GetInstance()->GetCurrentViewId();\r
+        unsigned short keyID = event.GetKeyId();\r
+        unsigned short keyState = event.GetState();\r
+        // 如果是power键,且是亮屏状态,按键释放就返回上一级\r
+        if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER) && keyState == 0 && uapi_get_screen_state() == 0)\r
+        {\r
+            // 不在设置页面\r
+            if (CardID != SET_VIEW)\r
+            {\r
+                TraingSetView::GetInstance()->ChangeView(CardID, SET_VIEW);\r
+            }\r
+            else\r
+            {\r
+                NativeAbility::GetInstance().Back();\r
+            }\r
+        }\r
+        return true;\r
+    }\r
     bool TraingSetPresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
     {\r
         int CardID = TraingSetView::GetInstance()->GetCurrentViewId();\r
index 00f35bf..9f6440d 100644 (file)
@@ -70,7 +70,7 @@ namespace OHOS
     bool TraingView::AddLabel()\r
     {\r
         // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingModel::AddLabel");\r
-        //  初始化标签\r
+        // 初始化标签\r
         InitLabelExt(title_label, TITLE_LABEL_X, TITLE_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "title_label", STR_RAPID_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
 \r
         InitLabelExt(btn1_label, BTN1_LABEL_X, BTN1_LABEL_Y, LABEL_X_SIZE, LABEL_Y_SIZE, "btu1_label", STR_EXERCISE_OUTDOORWALKING, DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE);\r
@@ -261,7 +261,6 @@ namespace OHOS
             return;\r
         }\r
         container_->SetOnDragListener(draglistener);\r
-\r
         container_->SetTouchable(true);\r
         container_->SetDraggable(true);\r
 \r
@@ -269,6 +268,9 @@ namespace OHOS
 \r
         RootView::GetInstance()->Add(container_);\r
         SetContainerView(container_);\r
+        // 增加按键监听\r
+        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingPresenter::GetInstance();\r
+        RootView::GetInstance()->SetOnKeyActListener(keyactListener);\r
     }\r
 \r
     void TraingView::OnSetUpView()\r