训练:修改”健身类“列表
authorCaisking <3449750381@qq.com>
Sat, 5 Oct 2024 05:14:03 +0000 (13:14 +0800)
committerCaisking <3449750381@qq.com>
Sat, 5 Oct 2024 05:14:03 +0000 (13:14 +0800)
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessModel.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/src/TraingFitnessModel.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/src/TraingFitnessView.cpp

index 28f6837..8780384 100644 (file)
@@ -1,42 +1,42 @@
-/*** 
+/***
  * @Date: 2024-04-15 10:55:58
  * @LastEditors: Caisking 3449750381@qq.com
  * @LastEditTime: 2024-09-06 18:47:14
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessModel.h
+ * @FilePath:
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessModel.h
  */
 
 #ifndef TraingFitness_MODEL_H
 #define TraingFitness_MODEL_H
 
-#include <cstdint>
-#include <map>
 #include "AppViewIDs.h"
-#include "UiConfig.h"
 #include "TraingFitnessPresenter.h"
+#include "UiConfig.h"
 #include "traing/training_list_fitness/include/TraingFitnessAdapter.h"
+#include <cstdint>
+#include <map>
+
+namespace OHOS {
+class TraingFitnessModel {
+public:
+  static TraingFitnessModel &GetInstance(void);
+  void InitTraingFitnessListItem();
+  const TraingFitnessItem *GetTraingFitnesslistItems() const;
+  uint8_t GetTraingFitnessListNum() const;
+  // const std::map<TraingFitnessIndex, AppViewId> &GetTraingFitnessIdToViewId()
+  // const;
 
-namespace OHOS
-{
-    class TraingFitnessModel
-    {
-    public:
-        static TraingFitnessModel &GetInstance(void);
-        void InitTraingFitnessListItem();
-        const TraingFitnessItem *GetTraingFitnesslistItems() const;
-        uint8_t GetTraingFitnessListNum() const;
-        // const std::map<TraingFitnessIndex, AppViewId> &GetTraingFitnessIdToViewId() const;
+private:
+  TraingFitnessModel();
+  TraingFitnessModel(const TraingFitnessModel &);
+  TraingFitnessModel &operator=(const TraingFitnessModel &);
+  virtual ~TraingFitnessModel();
+  static const uint16_t TraingFitnessListMaxNum = 60;
 
-    private:
-        TraingFitnessModel();
-        TraingFitnessModel(const TraingFitnessModel &);
-        TraingFitnessModel &operator=(const TraingFitnessModel &);
-        virtual ~TraingFitnessModel();
-        static const uint16_t TraingFitnessListMaxNum = 59;
-        
-        TraingFitnessItem TraingFitnesss[TraingFitnessListMaxNum] = {VIEW_INVALID, STR_EXERCISE_GENERAL};
-        // std::map<int, AppViewId> TraingFitnessIdToViewId;
-        bool btConnectStatus{false};
-    };
-}
+  TraingFitnessItem TraingFitnesss[TraingFitnessListMaxNum] = {
+      VIEW_INVALID, STR_EXERCISE_GENERAL};
+  bool btConnectStatus{false};
+};
+} // namespace OHOS
 
 #endif
\ No newline at end of file
index 8ce3592..361b0c6 100644 (file)
@@ -1,63 +1,53 @@
-/*** 
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-26 09:39:13
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-29 17:07:10
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/include/TraingFitnessView.h
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
+
 
 #ifndef TraingFitness_VIEW_H
 #define TraingFitness_VIEW_H
 
 #include "BaseView.h"
 #include "View.h"
-#include "components/ui_view_group.h"
-#include "components/ui_scroll_view.h"
+#include "components/ui_label_button_ext.h"
+#include "components/ui_label_ext.h"
 #include "components/ui_list.h"
+#include "components/ui_scroll_view.h"
+#include "components/ui_view_group.h"
 #include "traing/training_list_fitness/include/TraingFitnessAdapter.h"
 #include "traing/training_list_fitness/include/TraingFitnessModel.h"
-#include "components/ui_label_button_ext.h"
-#include "components/ui_label_ext.h"
-#include"ui_resource_string.h"
-
-namespace OHOS
-{
-    class TraingFitnessPresenter;
-    class TraingFitnessModel;
-    class TraingFitnessView : public View<TraingFitnessPresenter>, public UIViewGroup
-    {
-
-    public:
-        TraingFitnessView();
-        virtual ~TraingFitnessView();
-        static TraingFitnessView *GetInstance(void);
-
-        void OnStart() override;
-        void OnSetUpView() override;
-        void OnTearDownView() override;
-        void OnStop() override;
-
-        UIList *GetList();
-        UIScrollView *GetScrollView();
-
-        void AddToTraingFitnessList(const TraingFitnessItem &item);
-
-    private:
-        void InitView(void);
-        void DeInitView(void);
-        void PreLoad(void);
-
-    private:
-        UIScrollView *scrollView = nullptr;
-        // UILabelExt *title{nullptr};
-        TraingFitnessAdapter *p_TraingFitnessListAdapter{nullptr};
-        UIList *TraingFitnessList = nullptr;
-        UIView::OnDragListener *draglistener{nullptr};
-
-        TraingFitnessPresenter *g_TraingFitnessPresenter{nullptr};
-        TraingFitnessModel *g_TraingFitnessModel{nullptr};
-        bool viewInitStatus{false};
-    };
+#include "ui_resource_string.h"
+
+namespace OHOS {
+class TraingFitnessPresenter;
+class TraingFitnessModel;
+class TraingFitnessView : public View<TraingFitnessPresenter>,
+                          public UIViewGroup {
+
+public:
+  TraingFitnessView();
+  virtual ~TraingFitnessView();
+  static TraingFitnessView *GetInstance(void);
+
+  void OnStart() override;
+  void OnSetUpView() override;
+  void OnTearDownView() override;
+  void OnStop() override;
+
+  UIList *GetList();
+  UIScrollView *GetScrollView();
+
+  void AddToTraingFitnessList(const TraingFitnessItem &item);
+
+private:
+  void InitView(void);
+  void DeInitView(void);
+  void InitList();
+  void InitScrollView();
+  void SetKeyActListener(void);
+  void PreLoad(void);
+
+private:
+  UIScrollView *scrollView = nullptr;
+  TraingFitnessAdapter *p_TraingFitnessListAdapter{nullptr};
+  UIList *TraingFitnessList = nullptr;
+  bool viewInitStatus{false};
+};
 } // namespace OHOS
 #endif
\ No newline at end of file
index cf580c3..d963706 100644 (file)
@@ -88,7 +88,7 @@ UIResourceTextId text[] = {
 };
 
 void TraingFitnessModel::InitTraingFitnessListItem() {
-  for (int i = 0; i < 59; ++i) // 更新循环以适应 57 个元素
+  for (int i = 0; i < TraingFitnessListMaxNum; ++i) // 更新循环以适应 59 个元素
   {
     TraingFitnesss[i] = {VIEW_TRAININGNOMAL, text[i]};
   }
index c7225b9..9ab3e49 100644 (file)
 #include "traing/training_list_fitness/include/TraingFitnessView.h"
-#include "traing/training_list_fitness/include/TraingFitnessPresenter.h"
+#include "UiConfig.h"
+#include "components/ui_label_ext.h"
+#include "traing/Training_UiConfig.h"
 #include "traing/include/TraingModel.h"
+#include "traing/training_list_fitness/include/TraingFitnessPresenter.h"
+#include "ui_resource_string.h"
 #include "uicomponents/UIComponents.h"
-#include "traing/Training_UiConfig.h"
-
-#include "UiConfig.h"
 #include "wearable_log.h"
-
-namespace OHOS
-{
-    static constexpr uint8_t NUM_2 = 2;
-    static TraingFitnessView *g_pTraingFitnessView{nullptr};
-
-    static constexpr int16_t Fitness_LIST_POSITION_X = 43;
-    static constexpr int16_t Fitness_LIST_POSITION_Y = 120;
-    static constexpr int16_t Fitness_SCROLLBLANKSIZE = 35; // 设置此滚动视图的空白大小。
-    static constexpr int16 MAX_SCR_DIS = 1000;
-    static constexpr int16 LIST_POS = 20;
-    static constexpr int16 SNUM_2 = 2;
-
-    TraingFitnessView::TraingFitnessView()
-    {
-        g_pTraingFitnessView = this;
-    }
-
-    TraingFitnessView::~TraingFitnessView()
-    {
-        if (viewInitStatus == true)
-        {
-            DeInitView();
-        }
-        g_pTraingFitnessView = nullptr;
-    }
-
-    TraingFitnessView *TraingFitnessView::GetInstance()
-    {
-        return g_pTraingFitnessView;
-    }
-    /// @param item
-    void TraingFitnessView::AddToTraingFitnessList(const TraingFitnessItem &item)
-    {
-        p_TraingFitnessListAdapter->AddItem(item);
-    }
-
-    static void SetKeyActListener()
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetKeyActListener");
-        // 增加按键监听
-        RootView::OnKeyActListener *keyactListener = (RootView::OnKeyActListener *)OHOS::TraingFitnessPresenter::GetInstance();
-        RootView::GetInstance()->SetOnKeyActListener(keyactListener);
-    }
-    void TraingFitnessView::InitView()
-    {
-        if (scrollView == nullptr)
-        {
-                 scrollView = new UIScrollView();
-            if (scrollView == nullptr)
-            {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollView new fail!");
-                return;
-            }
-            scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
-            // scrollView->SetScrollBlankSize(50);
-            // // scrollView->SetReboundSize(35);
-            scrollView->SetHorizontalScrollState(false);
-            // scrollView->RequestFocus();
-            // scrollView->SetRotateFactor(1.0);
-            scrollView->SetMaxScrollDistance(1000);
-            scrollView->SetDragACCLevel(5);
-            scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/
-            scrollView->SetTouchable(true);
-            scrollView->SetDraggable(true);
-            container_->Add(scrollView);
-        }
-        /* -------------------------------------------------------------------------- */
-        // // 初始化Lable 暂时不添加
-        // if (title == nullptr)
-        // {
-        //     InitLabelExt(title, 135, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
-        //     title->SetStyle(STYLE_TEXT_COLOR, Color::Green().full);
-        //     scrollView->Add(title);
-        // }
-        // UIList 的适配器
-        if (p_TraingFitnessListAdapter == nullptr)
-        {
-            p_TraingFitnessListAdapter = new TraingFitnessAdapter();
-            p_TraingFitnessListAdapter->SetItemClickListener(presenter_);
+#include <memory>
+
+namespace OHOS {
+static TraingFitnessView *g_pTraingFitnessView{nullptr};
+
+TraingFitnessView::TraingFitnessView() { g_pTraingFitnessView = this; }
+
+TraingFitnessView::~TraingFitnessView() { g_pTraingFitnessView = nullptr; }
+
+TraingFitnessView *TraingFitnessView::GetInstance() {
+  return g_pTraingFitnessView;
+}
+
+void TraingFitnessView::AddToTraingFitnessList(const TraingFitnessItem &item) {
+  if (p_TraingFitnessListAdapter) {
+    p_TraingFitnessListAdapter->AddItem(item);
+  }
+}
+
+void TraingFitnessView::SetKeyActListener() {
+  WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SetKeyActListener");
+  auto keyActListener = static_cast<RootView::OnKeyActListener *>(
+      TraingFitnessPresenter::GetInstance());
+  RootView::GetInstance()->SetOnKeyActListener(keyActListener);
+}
+
+void TraingFitnessView::InitScrollView() {
+  if (scrollView == nullptr) {
+    scrollView = new UIScrollView();
+  }
+  scrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(),
+                          Screen::GetInstance().GetHeight());
+  scrollView->SetTouchable(true);
+  scrollView->SetDraggable(true);
+  scrollView->SetDirection(1);
+  scrollView->SetHorizontalScrollState(false);
+  scrollView->SetOnDragListener(presenter_);
+  scrollView->SetYScrollBarVisible(true);
+}
+
+void TraingFitnessView::InitList() {
+  if (p_TraingFitnessListAdapter == nullptr) {
+    p_TraingFitnessListAdapter = new TraingFitnessAdapter();
+  }
+  p_TraingFitnessListAdapter->SetItemClickListener(presenter_);
+
+  if (TraingFitnessList == nullptr) {
+    TraingFitnessList = new UIList();
+  }
+  TraingFitnessList->SetPosition(43, 0, HORIZONTAL_RESOLUTION,
+                                 VERTICAL_RESOLUTION);
+  TraingFitnessList->SetThrowDrag(true);
+  TraingFitnessList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+  TraingFitnessList->SetMaxScrollDistance(1000);
+  TraingFitnessList->SetSwipeACCLevel(800);
+  TraingFitnessList->SetDragACCLevel(5);
+  TraingFitnessList->SetRotateFactor(1);
+  TraingFitnessList->RequestFocus();
+}
+
+void TraingFitnessView::InitView() {
+  InitScrollView();
+  InitList();
+  SetKeyActListener();
+}
+
+void TraingFitnessView::DeInitView() {
+  if (viewInitStatus) {
+    if (container_) {
+      container_->RemoveAll();
+      if (scrollView) {
+        scrollView->RemoveAll();
+        if (p_TraingFitnessListAdapter) {
+          delete p_TraingFitnessListAdapter;
+          p_TraingFitnessListAdapter = nullptr;
         }
-        // 初始化列表
-        if (TraingFitnessList == nullptr)
-        {
-            TraingFitnessList = new UIList();
-            TraingFitnessList->SetPosition(43, 0, 466, 466);
-            TraingFitnessList->SetThrowDrag(true);
-            TraingFitnessList->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-            TraingFitnessList->SetMaxScrollDistance(1000);
-            TraingFitnessList->SetSwipeACCLevel(800);
-            TraingFitnessList->SetDragACCLevel(5);
-            // 增加表冠控制
-            TraingFitnessList->SetRotateFactor(1.0);
-            TraingFitnessList->RequestFocus();
+        if (TraingFitnessList) {
+          delete TraingFitnessList;
+          TraingFitnessList = nullptr;
         }
-    }
-    UIList *TraingFitnessView::GetList()
-    {
-        return TraingFitnessList;
-    }
-    UIScrollView *TraingFitnessView::GetScrollView()
-    {
-        return scrollView;
-    }
-    void TraingFitnessView::DeInitView()
-    {
-        // scrollView-> RemoveAll();
-        scrollView->RemoveAll();
-
-        // delete title;
-        // title = nullptr;
-
-        delete TraingFitnessList;
-        TraingFitnessList = nullptr;
-
         delete scrollView;
         scrollView = nullptr;
-
-        delete draglistener;
-        draglistener = nullptr;
-    }
-
-    void TraingFitnessView::PreLoad(void)
-    {
-        if (!viewInitStatus)
-        {
-            InitView();
-            viewInitStatus = true;
-        }
+      }
     }
-
-    /// @brief 页面启动时需要执行的代码逻辑
-    void TraingFitnessView::OnStart()
-    {
-        View<TraingFitnessPresenter>::OnStart();
-        BaseView::RootView(Color::Black().full);
-        SetContainerView(new UIViewGroup());
-        container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());
-        container_->SetOnDragListener(presenter_);
-        container_->SetTouchable(true);
-        container_->SetDraggable(true);
-        PreLoad();
-        RootView::GetInstance()->SetOnKeyActListener(presenter_);
-    }
-
-    /// @brief 创建页面的视图。
-    void TraingFitnessView::OnSetUpView()
-    {
-        View<TraingFitnessPresenter>::OnSetUpView();
-        if (TraingFitnessList != nullptr && p_TraingFitnessListAdapter != nullptr)
-        {
-            scrollView->Add(TraingFitnessList);
-            scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
-            RootView::GetInstance()->Add(scrollView);
-            TraingFitnessList->SetAdapter(p_TraingFitnessListAdapter);
-        }
-        Draw();
-    }
-
-    /// @brief 销毁页面的视图。
-    void TraingFitnessView::OnTearDownView()
-    {
-        View<TraingFitnessPresenter>::OnTearDownView();
-        return;
-    }
-
-    /// @brief 页面结束时需要执行的销毁逻辑。
-    void TraingFitnessView::OnStop()
-    {
-        View<TraingFitnessPresenter>::OnStop();
-        if (container_ != nullptr)
-        {
-            container_->RemoveAll();
-            delete container_;
-            container_ = nullptr;
-        }
-        RootView::GetInstance()->ClearOnKeyActListener();
-        RootView::GetInstance()->RemoveAll();
-        return;
+    delete container_;
+    container_ = nullptr;
+  }
+}
+
+void TraingFitnessView::PreLoad() {
+  if (!viewInitStatus) {
+    InitView();
+    viewInitStatus = true;
+  }
+}
+
+void TraingFitnessView::OnStart() {
+  View<TraingFitnessPresenter>::OnStart();
+  SetContainerView(new UIViewGroup());
+  container_->SetPosition(0, 0, Screen::GetInstance().GetWidth(),
+                          Screen::GetInstance().GetHeight());
+  BaseView::RootView(Color::Black().full);
+  PreLoad();
+  SetContainerView(container_);
+}
+
+void TraingFitnessView::OnSetUpView() {
+  View<TraingFitnessPresenter>::OnSetUpView();
+  if (scrollView && TraingFitnessList) {
+    scrollView->Add(TraingFitnessList);
+    scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
+    container_->Add(scrollView);
+    if (p_TraingFitnessListAdapter) {
+      TraingFitnessList->SetAdapter(p_TraingFitnessListAdapter);
     }
-}
\ No newline at end of file
+    Draw();
+  }
+}
+
+void TraingFitnessView::OnTearDownView() {
+  View<TraingFitnessPresenter>::OnTearDownView();
+}
+
+void TraingFitnessView::OnStop() {
+  View<TraingFitnessPresenter>::OnStop();
+  RootView::GetInstance()->ClearOnKeyActListener();
+  DeInitView();
+  RootView::GetInstance()->RemoveAll();
+}
+} // namespace OHOS
\ No newline at end of file