更新所有训练列表词条
authorCaisking <3449750381@qq.com>
Sat, 30 Mar 2024 07:19:32 +0000 (15:19 +0800)
committerCaisking <3449750381@qq.com>
Sat, 30 Mar 2024 07:19:32 +0000 (15:19 +0800)
42 files changed:
code/sdk/application/wearable/fd230app/CMakeLists.txt
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_en.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/input_list_zh.txt
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_en.xml
code/sdk/application/wearable/fd230app/nativeui/language/Language_xml/language_zh.xml
code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang
code/sdk/application/wearable/fd230app/nativeui/language/font/ui_resource_string.h
code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang
code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h
code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_aquatic/src/TraingAquaticView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDancePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDanceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_fitness/src/TraingFitnessView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingFitnessItemView.h [deleted file]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreAdapter.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreItemView.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreModel.h [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMorePresenter.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreView.h
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreAdapter.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreModel.cpp [new file with mode: 0644]
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_other/src/TraingOtherView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestView.cpp
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/ui_resource_string.h
code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang

index 0eb2c53..1169f86 100644 (file)
@@ -513,6 +513,9 @@ set(SOURCES
 
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreView.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreAdapter.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp
+    ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreModel.cpp
 
     #saveele
     ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/saveele/src/SaveEleModel.cpp
index e4f3f27..1f2337b 100644 (file)
@@ -9,6 +9,7 @@
 #include "ability_manager.h"
 #include "securec.h"
 #include "config/include/ConfigModel.h"
+#include "traing/include/TraingModel.h"
 namespace OHOS
 {
     ApplistPresenter::ApplistPresenter()
index 6afdb60..5f4175c 100644 (file)
@@ -174,3 +174,16 @@ STR_OTHER_MEDITATION,Meditation
 STR_OTHER_STILL,Still\r
 STR_OTHER_TILTING,Tilting\r
 STR_OTHER_WHEELCHAIR,Wheelchair\r
+STR_EXERCISE_LIST,Exercise\r
+STR_BALL_LIST,Ball\r
+STR_WATER_LIST,Water\r
+STR_DANCING_LIST,Dance\r
+STR_EXTREME_LIST,Extreme\r
+STR_ICE_LIST,Ice\r
+STR_RECREATIONAL_LIST,Recreational\r
+STR_OTHER_LIST,Other\r
+STR_DANCING_TITLE,Dance Sport\r
+STR_BALL_LIST_TITLE,Ball Sport\r
+STR_OTHER_TITLE,Other Sport\r
+STR_EXERCISE_TITLE,Exercise Sport\r
+STR_TRAINING,Training
\ No newline at end of file
index d8e5422..1660372 100644 (file)
@@ -173,4 +173,17 @@ STR_OTHER_INVEHICLE,在车里
 STR_OTHER_MEDITATION,冥想\r
 STR_OTHER_STILL,静止\r
 STR_OTHER_TILTING,倾斜\r
-STR_OTHER_WHEELCHAIR,坐轮椅移动
\ No newline at end of file
+STR_OTHER_WHEELCHAIR,坐轮椅移动\r
+STR_EXERCISE_LIST,健身类\r
+STR_BALL_LIST,球类\r
+STR_WATER_LIST,水上运动\r
+STR_DANCING_LIST,舞蹈类\r
+STR_EXTREME_LIST,极限运动\r
+STR_ICE_LIST,冰上运动\r
+STR_RECREATIONAL_LIST,休闲运动\r
+STR_OTHER_LIST,其他\r
+STR_DANCING_TITLE,舞蹈运动\r
+STR_BALL_LIST_TITLE,球类运动\r
+STR_OTHER_TITLE,其他运动\r
+STR_EXERCISE_TITLE,健身运动\r
+STR_TRAINING,训练
\ No newline at end of file
index 8335b68..84d8e09 100644 (file)
        <lanstr id="STR_OTHER_STILL" value="Still"/>
        <lanstr id="STR_OTHER_TILTING" value="Tilting"/>
        <lanstr id="STR_OTHER_WHEELCHAIR" value="Wheelchair"/>
+       <lanstr id="STR_EXERCISE_LIST" value="Exercise"/>
+       <lanstr id="STR_BALL_LIST" value="Ball"/>
+       <lanstr id="STR_WATER_LIST" value="Water"/>
+       <lanstr id="STR_DANCING_LIST" value="Dance"/>
+       <lanstr id="STR_EXTREME_LIST" value="Extreme"/>
+       <lanstr id="STR_ICE_LIST" value="Ice"/>
+       <lanstr id="STR_RECREATIONAL_LIST" value="Recreational"/>
+       <lanstr id="STR_OTHER_LIST" value="Other"/>
+       <lanstr id="STR_DANCING_TITLE" value="Dance Sport"/>
+       <lanstr id="STR_BALL_LIST_TITLE" value="Ball Sport"/>
+       <lanstr id="STR_OTHER_TITLE" value="Other Sport"/>
+       <lanstr id="STR_EXERCISE_TITLE" value="Exercise Sport"/>
+       <lanstr id="STR_TRAINING" value="Training"/>
 </language>
index b07ed1e..7604c2f 100644 (file)
        <lanstr id="STR_OTHER_STILL" value="静止"/>
        <lanstr id="STR_OTHER_TILTING" value="倾斜"/>
        <lanstr id="STR_OTHER_WHEELCHAIR" value="坐轮椅移动"/>
+       <lanstr id="STR_EXERCISE_LIST" value="健身类"/>
+       <lanstr id="STR_BALL_LIST" value="球类"/>
+       <lanstr id="STR_WATER_LIST" value="水上运动"/>
+       <lanstr id="STR_DANCING_LIST" value="舞蹈类"/>
+       <lanstr id="STR_EXTREME_LIST" value="极限运动"/>
+       <lanstr id="STR_ICE_LIST" value="冰上运动"/>
+       <lanstr id="STR_RECREATIONAL_LIST" value="休闲运动"/>
+       <lanstr id="STR_OTHER_LIST" value="其他"/>
+       <lanstr id="STR_DANCING_TITLE" value="舞蹈运动"/>
+       <lanstr id="STR_BALL_LIST_TITLE" value="球类运动"/>
+       <lanstr id="STR_OTHER_TITLE" value="其他运动"/>
+       <lanstr id="STR_EXERCISE_TITLE" value="健身运动"/>
+       <lanstr id="STR_TRAINING" value="训练"/>
 </language>
index 37b2acd..a3ed1b8 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/en.lang differ
index 8a10510..ba90556 100644 (file)
@@ -1,15 +1,15 @@
-/*\r
-* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.\r
-* Description: language\r
-* Author: Graphic develop team\r
-* Create: 2021-07-06\r
-*/\r
-\r
-#ifndef UI_RESOURCE_STRING_H\r
-#define UI_RESOURCE_STRING_H\r
-#include <cstdint>\r
-namespace OHOS {\r
-enum UIResourceTextId : uint16_t {\r
+/*
+* Copyright (c) xxxxxxxx Technologies Co., Ltd. 2021-2021. All rights reserved.
+* Description: language
+* Author: Graphic develop team
+* Create: 2021-07-06
+*/
+
+#ifndef UI_RESOURCE_STRING_H
+#define UI_RESOURCE_STRING_H
+#include <cstdint>
+namespace OHOS {
+enum UIResourceTextId : uint16_t {
     STR_EXERCISE_GENERAL = 0,\r
     STR_EXERCISE_FREETRAINING = 1,\r
     STR_EXERCISE_RESISTANCETRAINING = 2,\r
@@ -185,10 +185,23 @@ enum UIResourceTextId : uint16_t {
     STR_OTHER_STILL = 172,\r
     STR_OTHER_TILTING = 173,\r
     STR_OTHER_WHEELCHAIR = 174,\r
-    STR_MAX_ID = 175,\r
+    STR_EXERCISE_LIST = 175,\r
+    STR_BALL_LIST = 176,\r
+    STR_WATER_LIST = 177,\r
+    STR_DANCING_LIST = 178,\r
+    STR_EXTREME_LIST = 179,\r
+    STR_ICE_LIST = 180,\r
+    STR_RECREATIONAL_LIST = 181,\r
+    STR_OTHER_LIST = 182,\r
+    STR_DANCING_TITLE = 183,\r
+    STR_BALL_LIST_TITLE = 184,\r
+    STR_OTHER_TITLE = 185,\r
+    STR_EXERCISE_TITLE = 186,\r
+    STR_TRAINING = 187,\r
+    STR_MAX_ID = 188,\r
 }; // UIResourceTextId\r
-\r
-enum FontLanguageId : uint8_t {\r
+
+enum FontLanguageId : uint8_t {
     LANGUAGE_ID_ZH,\r
     LANGUAGE_ID_EN,\r
     LANGUAGE_ID_MAX\r
index fd08c59..18730d3 100644 (file)
Binary files a/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang and b/code/sdk/application/wearable/fd230app/nativeui/language/font/zh.lang differ
index e1a9fd4..598edb3 100644 (file)
@@ -26,7 +26,7 @@ namespace OHOS
         void UpdatePower();
 
     private:
-        uint8_t power_ = 0;
+        uint8_t power_ = 101;
     };
 }
 #endif
index 9f8adde..c77f826 100644 (file)
@@ -1,3 +1,11 @@
+/*** 
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-02-21 10:06:53
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-30 09:25:17
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPower.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE101
+ */
 /*
  * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
  * Description: DialModelPower
@@ -21,7 +29,7 @@ namespace OHOS
     {
         (void)type;
 #if 1
-        if (power_ == 0)
+        if (power_ == 101)
         {
             UpdatePower();
             return true;
index b9c7d60..c39389a 100644 (file)
@@ -1,23 +1,17 @@
-/*** 
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-22 14:43:06
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 16:43:39
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardPresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
 
 #include "traing/training_card/include/Training_CardPresenter.h"
 #include "traing/training_card/include/Training_CardView.h"
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include "language/font/ui_resource_string.h"
 #include "NativeAbility.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include "language/font/ui_resource_string.h"
 #include "UiConfig.h"
 #include "wearable_log.h"
+#include "traing/include/TraingModel.h"
+
 namespace OHOS
 {
 
@@ -47,6 +41,9 @@ namespace OHOS
         {
             NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);
         }
+        // 标记进入界面是主界面
+        // TraingModel::GetInstance()->SetInterface(VIEW_MAIN);
+
         return true;
     }
 } // namespace OHOS
\ No newline at end of file
index c28beae..6540e53 100644 (file)
@@ -1,4 +1,4 @@
-/*** 
+/***
  * @Author: Caisking 3449750381@qq.com
  * @Date: 2024-03-26 09:46:17
  * @LastEditors: Caisking 3449750381@qq.com
@@ -111,6 +111,7 @@ namespace OHOS
     {
         UNUSED(event);
         TraingAquaticItemView *itemView = static_cast<TraingAquaticItemView *>(&view);
+        // 传递训练项目
         AppViewId viewId = itemView->GetTraingAquaticIndex();
         UIResourceTextId sportid = itemView->GetTraingAquaticId();
         TraingModel::GetInstance()->SetSportEvent(sportid);
index 7bc72eb..e0ee582 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "冰上运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_WATER_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingAquaticListAdapter = new TraingAquaticAdapter();
index 7a14f3e..89e5a6d 100644 (file)
@@ -1,19 +1,4 @@
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 19:51:06
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ball/src/TraingBallPresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 14:23:32
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingBallPresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
+
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
@@ -103,6 +88,7 @@ namespace OHOS
     {
         UNUSED(event);
         TraingBallItemView *itemView = static_cast<TraingBallItemView *>(&view);
+        //传递训练项目
         AppViewId viewId = itemView->GetTraingBallIndex();
         UIResourceTextId sportid = itemView->GetTraingBallId();
         TraingModel::GetInstance()->SetSportEvent(sportid);
index b04aa10..46ebfbd 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "球类运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_BALL_LIST_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingBallListAdapter = new TraingBallAdapter();
index deda177..dd6fb77 100644 (file)
@@ -1,23 +1,8 @@
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 19:51:06
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_dance/src/TraingDancePresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 14:23:32
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingDancePresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
+
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include "language/font/ui_resource_string.h"
 #include "NativeAbility.h"
 
 #include <iostream>
@@ -26,7 +11,7 @@
 #include "traing/training_list_dance/include/TraingDanceItemView.h"
 #include "traing/training_list_dance/include/TraingDancePresenter.h"
 #include "traing/training_list_dance/include/TraingDanceView.h"
-// #include "TraingDanceView.h"
+#include "traing/include/TraingModel.h"
 
 namespace OHOS
 {
@@ -101,8 +86,11 @@ namespace OHOS
     bool TraingDancePresenter::OnClick(UIView &view, const ClickEvent &event)
     {
         UNUSED(event);
+        // 传递训练项目
         TraingDanceItemView *itemView = static_cast<TraingDanceItemView *>(&view);
         AppViewId viewId = itemView->GetTraingDanceIndex();
+        UIResourceTextId sportid = itemView->GetTraingDanceId();
+        TraingModel::GetInstance()->SetSportEvent(sportid);
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d\n", viewId);
         if (viewId < VIEW_MAX_INTER_APP)
         {
index 1acc2b9..15a7b19 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "舞蹈运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1",STR_DANCING_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingDanceListAdapter = new TraingDanceAdapter();
index 87a3639..5fce63a 100644 (file)
@@ -59,7 +59,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "健身运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_EXERCISE_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingFitnessListAdapter = new TraingFitnessAdapter();
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingFitnessItemView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingFitnessItemView.h
deleted file mode 100644 (file)
index 535de06..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-#ifndef TraingFitness_ITEM_VIEW_H
-#define TraingFitness_ITEM_VIEW_H
-
-#include "components/ui_label.h"
-#include "components/ui_label_ext.h"
-#include "language/font/ui_resource_string.h"
-#include "components/ui_view_group.h"
-#include "components/ui_checkbox.h"
-#include "components/ui_image_view.h"
-#include "traing/training_list_fitness/include/TraingFitnessAdapter.h"
-#include "components/ui_label_button.h"
-#include "AppViewIDs.h"
-#include "ohos_types.h"
-
-namespace OHOS
-{
-    class TraingFitnessItemView : public UIViewGroup
-    {
-    public:
-        explicit TraingFitnessItemView();
-        virtual ~TraingFitnessItemView();
-        virtual void SetItemInfo(const TraingFitnessItem itemInfo);
-        virtual void SetUpChild();
-        AppViewId GetTraingFitnessIndex();
-        UIResourceTextId GetTraingFitnessId();
-    private:
-        TraingFitnessItemView(const TraingFitnessItemView &);
-        UIImageView sbackground; // 背景
-        UIImageView sicon;        // 箭头
-        UILabelExt sLabel;          // 标签
-        TraingFitnessItem sItemInfo = {VIEW_INVALID, STR_EXERCISE_GENERAL};
-    };
-
-}
-#endif
\ No newline at end of file
index f706e6d..6f38618 100644 (file)
@@ -1,3 +1,11 @@
+/*** 
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-27 11:09:52
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-30 11:26:25
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
 /***
  * @Author: Caisking 3449750381@qq.com
  * @Date: 2024-03-27 11:09:52
index 5966800..8944ece 100644 (file)
@@ -12,7 +12,7 @@
 #include "components/ui_label_button.h"
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include "language/font/ui_resource_string.h"
 #include "ohos_types.h"
 
 namespace OHOS
@@ -30,8 +30,8 @@ namespace OHOS
     private:
         TraingIceItemView(const TraingIceItemView &);
         UIImageView sbackground; // 背景
-        UIImageView sicon;        // 箭头
-        UILabelExt sLabel;          // 标签
+        UIImageView sicon;       // 箭头
+        UILabelExt sLabel;       // 标签
         TraingIceItem sItemInfo = {VIEW_INVALID, STR_ICE_SPORTS};
     };
 
index 434daec..ef73cf0 100644 (file)
@@ -1,23 +1,8 @@
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 19:51:06
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 14:23:32
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingIcePresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
+
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
-#include"language/font/ui_resource_string.h"
+#include "language/font/ui_resource_string.h"
 #include "NativeAbility.h"
 
 #include <iostream>
@@ -26,7 +11,7 @@
 #include "traing/training_list_ice/include/TraingIceItemView.h"
 #include "traing/training_list_ice/include/TraingIcePresenter.h"
 #include "traing/training_list_ice/include/TraingIceView.h"
-// #include "TraingIceView.h"
+#include "traing/include/TraingModel.h"
 
 namespace OHOS
 {
@@ -93,7 +78,6 @@ namespace OHOS
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
         {
             NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE);
-            
         }
         UNUSED(view);
         return true;
@@ -104,6 +88,8 @@ namespace OHOS
         UNUSED(event);
         TraingIceItemView *itemView = static_cast<TraingIceItemView *>(&view);
         AppViewId viewId = itemView->GetTraingIceIndex();
+        UIResourceTextId sportid = itemView->GetTraingIceId();
+        TraingModel::GetInstance()->SetSportEvent(sportid);
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d\n", viewId);
         if (viewId < VIEW_MAX_INTER_APP)
         {
index 53a815a..b689951 100644 (file)
@@ -69,7 +69,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "冰上运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_ICE_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingIceListAdapter = new TraingIceAdapter();
index 27b47aa..e67e22e 100644 (file)
@@ -1,19 +1,3 @@
-/***\r
- * @Author: Caisking 3449750381@qq.com\r
- * @Date: 2024-03-19 17:37:19\r
- * @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-03-26 19:51:06\r
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp\r
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
- */\r
-/***\r
- * @Author: Caisking 3449750381@qq.com\r
- * @Date: 2024-03-19 17:37:19\r
- * @LastEditors: Caisking 3449750381@qq.com\r
- * @LastEditTime: 2024-03-26 14:23:32\r
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingLimitPresenter.cpp\r
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
- */\r
 \r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
index e76e13f..c7f6f2c 100644 (file)
@@ -51,7 +51,7 @@ namespace OHOS
         }\r
         scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
         // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-         scrollView->SetScrollBlankSize(52);\r
+        scrollView->SetScrollBlankSize(52);\r
         // scrollView->SetReboundSize(100);\r
         scrollView->SetTouchable(true);\r
         scrollView->SetDraggable(true);\r
@@ -61,7 +61,7 @@ namespace OHOS
 \r
         /* -------------------------------------------------------------------------- */\r
         // 初始化Lable\r
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "极限运动", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_EXTREME_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
         scrollView->Add(title);\r
         // UIList 的适配器\r
         p_TraingLimitListAdapter = new TraingLimitAdapter();\r
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreAdapter.h
new file mode 100644 (file)
index 0000000..e2e9697
--- /dev/null
@@ -0,0 +1,51 @@
+
+#ifndef TraingMore_ADAPTER_H
+#define TraingMore_ADAPTER_H
+#include <list>
+#include <string>
+#include "components/ui_list.h"
+#include "components/abstract_adapter.h"
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_checkbox.h"
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+
+// 列表的适配器
+namespace OHOS
+{
+
+    typedef struct
+    {
+        AppViewId id;
+        UIResourceTextId labelid; // 标签
+        const char *logo;
+    } TraingMoreItem;
+
+    class TraingMoreAdapter : public AbstractAdapter
+    {
+    public:
+        explicit TraingMoreAdapter();
+        virtual ~TraingMoreAdapter();
+
+        void SetData(std::list<TraingMoreItem> &data);
+
+        virtual uint16_t GetCount(void) override;
+
+        virtual UIView *GetView(UIView *inView, int16_t index) override;
+
+        virtual void AddItem(const TraingMoreItem &item);
+
+        void SetItemClickListener(UIView::OnClickListener *itemclicklistener)
+        {
+            itemClickListener = itemclicklistener;
+        }
+
+    private:
+        std::list<TraingMoreItem> listData;
+        UIView::OnClickListener *itemClickListener{nullptr};
+    };
+}
+
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreItemView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreItemView.h
new file mode 100644 (file)
index 0000000..8b5c9e3
--- /dev/null
@@ -0,0 +1,47 @@
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-27 11:12:32
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-30 11:05:58
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreItemView.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#ifndef TraingMore_ITEM_VIEW_H
+#define TraingMore_ITEM_VIEW_H
+
+#include "components/ui_label.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_view_group.h"
+#include "components/ui_checkbox.h"
+#include "components/ui_image_view.h"
+#include "traing/training_list_more/include/TraingMoreAdapter.h"
+#include "components/ui_label_button.h"
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include "ohos_types.h"
+
+namespace OHOS
+{
+    class TraingMoreItemView : public UIViewGroup
+    {
+    public:
+        explicit TraingMoreItemView();
+        virtual ~TraingMoreItemView();
+        virtual void SetItemInfo(const TraingMoreItem itemInfo);
+        virtual void SetUpChild();
+        AppViewId GetTraingMoreIndex();
+        UIResourceTextId GetTraingMoreId();
+
+    private:
+        TraingMoreItemView(const TraingMoreItemView &);
+        UIImageView sbackground; // 背景
+        UIImageView sicon;       // 箭头
+        UILabelExt sLabel;       // 标签
+        UIImageView slogo;       // 图标
+        TraingMoreItem sItemInfo = {VIEW_INVALID, STR_ICE_SPORTS,nullptr};
+    };
+
+}
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMoreModel.h
new file mode 100644 (file)
index 0000000..7fff325
--- /dev/null
@@ -0,0 +1,39 @@
+
+#ifndef TraingMore_MODEL_H
+#define TraingMore_MODEL_H
+
+#include <cstdint>
+#include <map>
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include "UiConfig.h"
+#include "TraingMorePresenter.h"
+#include "traing/training_list_more/include/TraingMoreAdapter.h"
+
+namespace OHOS
+{
+    class TraingMoreModel
+    {
+    public:
+        static TraingMoreModel &GetInstance(void);
+        void InitTraingMoreListItem();
+        const TraingMoreItem *GetTraingMorelistItems() const;
+        uint8_t GetTraingMoreListNum() const;
+        // const std::map<TraingMoreIndex, AppViewId> &GetTraingMoreIdToViewId() const;
+
+    private:
+        TraingMoreModel();
+        TraingMoreModel(const TraingMoreModel &);
+        TraingMoreModel &operator=(const TraingMoreModel &);
+        virtual ~TraingMoreModel();
+        static const uint16_t TraingMoreListMaxNum = 8;
+        TraingMoreItem TraingMores[TraingMoreListMaxNum] = {VIEW_INVALID, STR_ICE_SPORTS, nullptr};
+        // std::map<int, AppViewId> TraingMoreIdToViewId;
+        bool btConnectStatus{false};
+    };
+}
+
+#endif
\ No newline at end of file
index 5f81c34..161b922 100644 (file)
@@ -1,11 +1,13 @@
 /*** 
  * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:18
+ * @Date: 2024-03-26 09:44:11
  * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 18:26:47
+ * @LastEditTime: 2024-03-27 14:22:01
  * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/include/TraingMorePresenter.h
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
+
+
 #ifndef _TraingMore_PRESENTER_H
 #define _TraingMore_PRESENTER_H
 
@@ -15,7 +17,7 @@
 namespace OHOS
 {
     class TraingMoreView;
-
+    class TraingMoreModel;
     class TraingMorePresenter : public Presenter<TraingMoreView>,
                                  public UIView::OnClickListener,
                                  public UIView::OnDragListener
@@ -32,10 +34,12 @@ namespace OHOS
         static TraingMorePresenter *GetInstance();
 
     private:
-        // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;
+        // 因为继承了OnClickener,所以有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 OnDragEnd(UIView &view, const DragEvent &event) override;
+
+        TraingMoreModel *p_TraingMoreModel{nullptr};
     };
 } // namespace OHOS
 
index 2b9253d..0690447 100644 (file)
@@ -1,39 +1,23 @@
-#ifndef _TraingMore_VIEW_H
-#define _TraingMore_VIEW_H
+
+#ifndef TraingMore_VIEW_H
+#define TraingMore_VIEW_H
 
 #include "BaseView.h"
 #include "View.h"
-#include <ui_scroll_view.h>
 #include "components/ui_view_group.h"
-#include "components/ui_label.h"
-#include "components/ui_label_ext.h"
-#include "components/ui_image_view.h"
-#include "components/ui_button.h"
-#include "components/ui_image_animator.h"
-#include "components/ui_label_button_ext.h"
-#include "components/ui_chart.h"
+#include "components/ui_scroll_view.h"
 #include "components/ui_list.h"
-#include "components/icon_adapter.h"
-#include "wearable_log.h"
-#include "ohos_types.h"
-#include "components/ui_card_page.h"
-#include "traing/include/TraingModel.h"
-#include "traing/Training_UiConfig.h"
+#include "traing/training_list_more/include/TraingMoreAdapter.h"
+#include "traing/training_list_more/include/TraingMoreModel.h"
+#include "components/ui_label_button_ext.h"
+#include "components/ui_label_ext.h"
+#include"language/font/ui_resource_string.h"
 
-#include "TraingMorePresenter.h"
 namespace OHOS
 {
-#define BUTTON_FITNESS "button1"  // 健身
-#define BUTTON_DANCE "button2"    // 舞蹈
-#define BUTTON_REST "button3"     // 休闲运动
-#define BUTTON_BALL "button4"     // 球类
-#define BUTTON_SWIMMING "button5" // 水上运动
-#define BUTTON_ICE "button6"      // 冰上运动
-#define BUTTON_LIMIT "button7"    // 极限运动
-#define BUTTON_OTHER "button8"    // 其他
-
     class TraingMorePresenter;
-    class TraingMoreView : public View<TraingMorePresenter>
+    class TraingMoreModel;
+    class TraingMoreView : public View<TraingMorePresenter>, public UIViewGroup
     {
 
     public:
@@ -45,40 +29,25 @@ namespace OHOS
         void OnSetUpView() override;
         void OnTearDownView() override;
         void OnStop() override;
-        void InitView();
-        void DeInit();
-       
-        void InitList();
+
+        UIList *GetList();
+        void AddToTraingMoreList(const TraingMoreItem &item);
+
+    private:
+        void InitView(void);
+        void DeInitView(void);
         void PreLoad(void);
 
     private:
+        UIScrollView *scrollView = nullptr;
+        UILabelExt *title{nullptr};
+        TraingMoreAdapter *p_TraingMoreListAdapter{nullptr};
+        UIList *TraingMoreList = nullptr;
         UIView::OnDragListener *draglistener{nullptr};
-        TraingMoreView(TraingMoreView &&) = delete;
-        TraingMoreView &operator=(TraingMoreView &&) = delete;
 
-        UIViewGroup *container_ = nullptr;
-        UIScrollView *scrollView1_ = nullptr;
-        UILabelExt *label1_ = nullptr;
-        UIImageView *image1_ = nullptr;
-        UIImageView *image2_ = nullptr;
-        UIImageView *image3_ = nullptr;
-        UIImageView *image4_ = nullptr;
-        UIImageView *image5_ = nullptr;
-        UIImageView *image6_ = nullptr;
-        UIImageView *image7_ = nullptr;
-        UIImageView *image8_ = nullptr;
-        UIButton *button1_ = nullptr;
-        UIButton *button2_ = nullptr;
-        UIButton *button3_ = nullptr;
-        UIButton *button4_ = nullptr;
-        UIButton *button5_ = nullptr;
-        UIButton *button6_ = nullptr;
-        UIButton *button7_ = nullptr;
-        UIButton *button8_ = nullptr;
-        UIList *list1_ = nullptr;
-        IconAdapter *list1adapter_ = nullptr;
-        List<IconItemNode *> *list1data_ = nullptr;
-        bool viewiInitStatus{false};
+        TraingMorePresenter *g_TraingMorePresenter{nullptr};
+        TraingMoreModel *g_TraingMoreModel{nullptr};
+        bool viewInitStatus{false};
     };
 } // namespace OHOS
-#endif // TraingMore_PRESENTER_H
+#endif
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreAdapter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreAdapter.cpp
new file mode 100644 (file)
index 0000000..956366b
--- /dev/null
@@ -0,0 +1,95 @@
+/*** 
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-27 11:12:53
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-27 15:27:45
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreAdapter.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+#include "traing/training_list_more/include/TraingMoreAdapter.h"
+#include "traing/training_list_more/include/TraingMoreModel.h"
+#include "traing/training_list_more/include/TraingMoreItemView.h"
+
+#include "wearable_log.h"
+
+namespace OHOS
+{
+    TraingMoreAdapter::TraingMoreAdapter() {}
+
+    TraingMoreAdapter::~TraingMoreAdapter()
+    {
+        listData.clear();
+    }
+
+    uint16_t TraingMoreAdapter::GetCount(void)
+    {
+        return listData.size();
+    }
+
+    void TraingMoreAdapter::SetData(std::list<TraingMoreItem> &data)
+    {
+        if (!listData.empty())
+        {
+            listData.clear();
+        }
+        std::list<TraingMoreItem>::iterator it;
+        for (it = data.begin(); it != data.end(); it++)
+        {
+            listData.push_back(*it);
+        }
+    }
+
+    /// @brief 为列表的每一项创建一个视图
+    /// @param inView 一个指向已存在的视图对象的指
+    /// @param index 要创建的视图在列表中的索引l。
+    /// @return 返回该视图对象
+    UIView *TraingMoreAdapter::GetView(UIView *inView, int16_t index)
+    {
+
+        // 1.先检查列表数据是否为空,若为空则返回空指针
+        if (listData.empty())
+        {
+            return nullptr;
+        }
+        // 2.接着检查索引是否小于0,若小于0则返回空指针
+        if (index < 0)
+        {
+            return nullptr;
+        }
+        // 3.检查是否超出列表数据大小,若超出则返回空指针
+        size_t uindex = index;
+        if (uindex >= listData.size())
+        {
+            return nullptr;
+        }
+        // 4.通过迭代器访问列表中指定索引位置的元素,将其赋值给itemData变量
+        std::list<TraingMoreItem>::iterator it = listData.begin();
+        for (int i = 0; i < index; i++)
+        {
+            it++;
+        }
+        TraingMoreItem itemData = *it;
+        TraingMoreItemView *item = nullptr;
+        /*
+            5.根据传入的inView参数是否已经存在一个视图对象,
+            若为空则创建一个新的MessageItemView对象,
+           否则将inView转换成MessageItemView类型的指针
+        */
+        if (inView == nullptr)
+        {
+            item = new TraingMoreItemView();
+        }
+        else
+        {
+            item = static_cast<TraingMoreItemView *>(inView);
+        }
+        item->SetItemInfo(itemData);
+        item->SetOnClickListener(itemClickListener);
+        return item;
+    }
+
+    void TraingMoreAdapter::AddItem(const TraingMoreItem &item)
+    {
+        listData.push_back(item);
+    }
+} // namespace OHOS
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp
new file mode 100644 (file)
index 0000000..38270f2
--- /dev/null
@@ -0,0 +1,79 @@
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-27 11:13:16
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-29 11:47:02
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreItemView.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#include "traing/training_list_more/include/TraingMoreItemView.h"
+#include "traing/include/TraingModel.h"
+#include "traing/Training_UiConfig.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include "UiConfig.h"
+namespace OHOS
+{
+
+    TraingMoreItemView::TraingMoreItemView()
+    {
+        SetPosition(0, 0, 380, 120); // 每一个itemview宽高要配置好,因为加到list都是以这个视图为基准
+        SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+        SetStyle(STYLE_BACKGROUND_OPA, 255);
+        SetTouchable(true);
+        SetUpChild();
+        Add(&sbackground);
+        Add(&sicon);
+        Add(&sLabel);
+        Add(&slogo);
+    }
+
+    TraingMoreItemView::~TraingMoreItemView()
+    {
+        Remove(&sbackground);
+        Remove(&sicon);
+        Remove(&sLabel);
+        Remove(&slogo);
+    }
+
+    /// @brief 设置item的信息
+    /// @param itemInfo
+    void TraingMoreItemView::SetItemInfo(const TraingMoreItem itemInfo)
+    {
+        sItemInfo = itemInfo;
+        sLabel.SetTextId(itemInfo.labelid);
+        slogo.SetSrc(itemInfo.logo);
+    }
+
+    /// @brief 设置每一个itemview上的组件
+    void TraingMoreItemView::SetUpChild()
+    {
+        sbackground.SetSrc(PNG_SETTING_BACKGROUND_IMAGE);
+
+        slogo.SetPosition(60, 35);
+        slogo.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+
+        sicon.SetPosition(330, 40);
+        sicon.SetSrc(ICON_IMAGE);
+        sicon.SetStyle(STYLE_IMAGE_OPA, OPA_OPAQUE);
+
+        sLabel.SetPosition(50, 10, 300, 80);
+        sLabel.SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
+        sLabel.SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
+        sLabel.SetRollSpeed(0);
+        sLabel.SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+    }
+
+    /// @brief 获取list的中每个组件的在list的下标
+    /// @return 返回下标
+    AppViewId TraingMoreItemView::GetTraingMoreIndex()
+    {
+        return sItemInfo.id;
+    }
+
+    UIResourceTextId TraingMoreItemView::GetTraingMoreId()
+    {
+        return sItemInfo.labelid;
+    }
+}
\ No newline at end of file
diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreModel.cpp
new file mode 100644 (file)
index 0000000..23bce5d
--- /dev/null
@@ -0,0 +1,54 @@
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-03-26 18:34:15
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-26 18:36:25
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreModel.cpp
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+
+#include "traing/training_list_more/include/TraingMoreModel.h"
+#include "traing/Training_UiConfig.h"
+#include "common/image_cache_manager.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+#include "UiConfig.h"
+#include "ui_resource_image.h"
+#include "AppViewIDs.h"
+#include "components/ui_label_ext.h"
+#include "language/font/ui_resource_string.h"
+namespace OHOS
+{
+
+    TraingMoreModel::TraingMoreModel() {}
+
+    TraingMoreModel::~TraingMoreModel() {}
+
+    TraingMoreModel &TraingMoreModel::GetInstance()
+    {
+        static TraingMoreModel instance;
+        return instance;
+    }
+
+    void TraingMoreModel::InitTraingMoreListItem()
+    {
+        TraingMores[0] = {VIEW_TRAININGFITNESS, STR_EXERCISE_LIST, FITNESS_IMAGE};
+        TraingMores[1] = {VIEW_TRAININGDANCE, STR_DANCING_LIST, DANCE_IMAGE};
+        TraingMores[2] = {VIEW_TRAININGREST, STR_RECREATIONAL_LIST, REST_IMAGE};
+        TraingMores[3] = {VIEW_TRAININGBALL, STR_BALL_LIST, BALL_IMAGE};
+        TraingMores[4] = {VIEW_TRAININGAQUATIC, STR_WATER_LIST, SWIMMING_IMAGE};
+        TraingMores[5] = {VIEW_TRAININGICE, STR_ICE_LIST, ICE_IMAGE};
+        TraingMores[6] = {VIEW_TRAININGLIMIT, STR_EXTREME_LIST, LIMIT_IMAGE};
+        TraingMores[7] = {VIEW_TRAININGOTHER, STR_OTHER_LIST, OTHER_IMAGE};
+    }
+
+    const TraingMoreItem *TraingMoreModel::GetTraingMorelistItems() const
+    {
+        return TraingMores;
+    }
+    uint8_t TraingMoreModel::GetTraingMoreListNum() const
+    {
+        return TraingMoreListMaxNum;
+    }
+
+}
\ No newline at end of file
index 597b51c..8c66c11 100644 (file)
@@ -1,3 +1,5 @@
+\r
+\r
 #include "AppViewIDs.h"\r
 #include "components/ui_label_ext.h"\r
 #include "language/font/ui_resource_string.h"\r
@@ -6,20 +8,22 @@
 #include <iostream>\r
 #include <chrono>\r
 #include <thread>\r
+#include "traing/training_list_more/include/TraingMoreItemView.h"\r
 #include "traing/training_list_more/include/TraingMorePresenter.h"\r
-#include "MainViewSample.h"\r
-#include "ScreenModels.h"\r
+#include "traing/training_list_more/include/TraingMoreView.h"\r
 // #include "TraingMoreView.h"\r
 \r
 namespace OHOS\r
 {\r
+    extern const char *More_buttons[];\r
+    extern char *More_text[];\r
 \r
     // 当前Presenter属性实例化的内存指针\r
     static TraingMorePresenter *g_pTraingMorePresenter = nullptr;\r
 \r
     TraingMorePresenter::TraingMorePresenter()\r
     {\r
-\r
+        p_TraingMoreModel = &TraingMoreModel::GetInstance();\r
         g_pTraingMorePresenter = this;\r
     }\r
 \r
@@ -37,19 +41,26 @@ namespace OHOS
 \r
     void TraingMorePresenter::OnStart()\r
     {\r
-\r
+        p_TraingMoreModel->InitTraingMoreListItem();\r
         Presenter<TraingMoreView>::OnStart();\r
     }\r
 \r
     void TraingMorePresenter::OnPause(void)\r
     {\r
-\r
         Presenter<TraingMoreView>::OnPause();\r
     }\r
 \r
     void TraingMorePresenter::OnResume(void)\r
     {\r
-\r
+        if (view_ == nullptr)\r
+        {\r
+            return;\r
+        }\r
+        const TraingMoreItem *itemInfo = p_TraingMoreModel->GetTraingMorelistItems();\r
+        for (int i = 0; i < p_TraingMoreModel->GetTraingMoreListNum(); i++)\r
+        {\r
+            view_->AddToTraingMoreList(itemInfo[i]);\r
+        }\r
         Presenter<TraingMoreView>::OnResume();\r
     }\r
 \r
@@ -64,21 +75,9 @@ namespace OHOS
     }\r
     bool TraingMorePresenter::OnDragEnd(UIView &view, const DragEvent &event)\r
     {\r
-\r
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)\r
         {\r
-            uint16_t preSlice = NativeAbility::GetInstance().GetPreSliceId();\r
-            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Id:[%d]", preSlice);\r
-            if (preSlice == VIEW_MAIN)\r
-            {\r
-                NativeAbility::GetInstance().ChangeSlice(VIEW_MAIN);\r
-                // MainViewSample::GetInstance()->SetPage(CardId::TRAINING);\r
-                return true;\r
-            }\r
-            else\r
-            {\r
-                NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING);\r
-            }\r
+            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAINING);\r
         }\r
         UNUSED(view);\r
         return true;\r
@@ -86,39 +85,16 @@ namespace OHOS
 \r
     bool TraingMorePresenter::OnClick(UIView &view, const ClickEvent &event)\r
     {\r
-        // 根据控件id查找是哪个控件触发了点击回调\r
-        if (strcmp(view.GetViewId(), BUTTON_BALL) == 0)\r
+        UNUSED(event);\r
+        TraingMoreItemView *itemView = static_cast<TraingMoreItemView *>(&view);\r
+        AppViewId viewId = itemView->GetTraingMoreIndex();\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d\n", viewId);\r
+        if (viewId < VIEW_MAX_INTER_APP)\r
         {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGBALL);\r
+            NativeAbility::GetInstance().ChangeSlice(viewId);\r
+            return true;\r
         }\r
-        if (strcmp(view.GetViewId(), BUTTON_DANCE) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGDANCE);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_FITNESS) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGFITNESS);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_ICE) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGICE);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_LIMIT) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGLIMIT);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_OTHER) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGOTHER);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_REST) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGREST);\r
-        }\r
-        if (strcmp(view.GetViewId(), BUTTON_SWIMMING) == 0)\r
-        {\r
-            NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGAQUATIC);\r
-        }\r
-        return true;\r
+        return false;\r
     }\r
+\r
 }\r
index de837fa..de5a8df 100644 (file)
@@ -1,23 +1,32 @@
-\r
+/***\r
+ * @Author: Caisking 3449750381@qq.com\r
+ * @Date: 2024-03-26 09:46:17\r
+ * @LastEditors: Caisking 3449750381@qq.com\r
+ * @LastEditTime: 2024-03-29 12:06:57\r
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMoreView.cpp\r
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\r
+ */\r
 #include "traing/training_list_more/include/TraingMoreView.h"\r
+#include "traing/training_list_more/include/TraingMorePresenter.h"\r
 #include "traing/include/TraingModel.h"\r
 #include "traing/Training_UiConfig.h"\r
 \r
-#include "common/image_cache_manager.h"\r
 #include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
+#include "language/font/ui_resource_string.h"\r
 #include "UiConfig.h"\r
-#include "ui_resource_image.h"\r
-#include <ui_scroll_view.h>\r
-#include "components/ui_button.h"\r
+#include "wearable_log.h"\r
+\r
 namespace OHOS\r
 {\r
-    // 定义全局变量\r
-    static const char *imagePaths[] = {FITNESS_IMAGE, DANCE_IMAGE, REST_IMAGE, BALL_IMAGE, SWIMMING_IMAGE, ICE_IMAGE, LIMIT_IMAGE, OTHER_IMAGE};\r
-\r
-    static char *text[] = {"健身类", "舞蹈类", "休闲运动", "球类", "水上运动", "冰上运动", "极限运动", "其他"};\r
-\r
+    static constexpr uint8_t NUM_2 = 2;\r
     static TraingMoreView *g_pTraingMoreView{nullptr};\r
+    /* --------------------------------- List --------------------------------- */\r
+    static constexpr int16_t More_LIST_POSITION_X = 43;\r
+    static constexpr int16_t More_LIST_POSITION_Y = 120;\r
+    static constexpr int16_t More_SCROLLBLANKSIZE = 35; // 设置此滚动视图的空白大小。\r
+    static constexpr int16 MAX_SCR_DIS = 1000;\r
+    static constexpr int16 LIST_POS = 20;\r
+    static constexpr int16 SNUM_2 = 2;\r
 \r
     TraingMoreView::TraingMoreView()\r
     {\r
@@ -26,314 +35,128 @@ namespace OHOS
 \r
     TraingMoreView::~TraingMoreView()\r
     {\r
-        DeInit();\r
+        if (viewInitStatus == true)\r
+        {\r
+            DeInitView();\r
+        }\r
         g_pTraingMoreView = nullptr;\r
     }\r
 \r
     TraingMoreView *TraingMoreView::GetInstance()\r
     {\r
-\r
         return g_pTraingMoreView;\r
     }\r
-\r
-    /*  Traing:初始化list  */\r
-    void TraingMoreView::InitList()\r
+    /// @param item\r
+    void TraingMoreView::AddToTraingMoreList(const TraingMoreItem &item)\r
     {\r
-        // Add List to App\r
-        if (list1_ == nullptr)\r
-        {\r
-            list1_ = new UIList();\r
-        }\r
-        list1_->SetPosition(35, 110); // widget's left position and top position\r
-        list1_->Resize(300, 1100);    // widget's width and height\r
-        list1_->SetViewId("list1");   // Set style\r
-        list1_->SetStyle(STYLE_BACKGROUND_COLOR, 0xff000000);\r
-        list1_->SetStyle(STYLE_BACKGROUND_OPA, 0x00);\r
-\r
-        // Set additional property\r
-        if (list1data_ == nullptr)\r
-        {\r
-            list1data_ = new List<IconItemNode *>();\r
-        }\r
-\r
-        // 使用全局变量来初始化列表项\r
-        for (int i = 0; i < 8; ++i)\r
-        {\r
-            IconItemNode *listData = new IconItemNode();\r
-            // 检查是否需要分配内存空间\r
-            if (listData->imagePath == nullptr)\r
-            {\r
-                listData->imagePath = new char[strlen(imagePaths[i]) + 1];\r
-            }\r
-            strcpy(listData->imagePath, imagePaths[i]);\r
-            listData->txt = text[i];\r
-            list1data_->PushBack(listData);\r
-\r
-            // 释放内存空间\r
-            // delete[] listData->imagePath;\r
-            // delete listData;\r
-        }\r
-\r
-        if (list1adapter_ == nullptr)\r
-        {\r
-            list1adapter_ = new IconAdapter();\r
-        }\r
-        list1adapter_->SetItemSize(250, 120);\r
-        list1adapter_->SetImageSize(130, 120);\r
-        list1adapter_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-        list1adapter_->SetData(list1data_);\r
-        list1_->SetAdapter(list1adapter_);\r
-\r
-        // Add to scrollView1\r
-        // scrollView1_->Add(list1_);\r
-        list1_->SetVisible(true);\r
+        p_TraingMoreListAdapter->AddItem(item);\r
     }\r
-    /* InitView:初始化界面*/\r
-    void TraingMoreView ::InitView()\r
+    void TraingMoreView::InitView()\r
     {\r
-        if (container_ == nullptr)\r
+        if (scrollView == nullptr)\r
         {\r
-            container_ = new UIViewGroup();\r
-            container_->SetPosition(0, 0, 466, 466);\r
-            container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+            scrollView = new UIScrollView();\r
         }\r
-        // Add ScrollView to App\r
-        if (scrollView1_ == nullptr)\r
-        {\r
-            scrollView1_ = new UIScrollView();\r
-        }\r
-        scrollView1_->SetPosition(0, 0);        // widget's left position and top position\r
-        scrollView1_->Resize(466, 466);         // widget's width and height\r
-        scrollView1_->SetViewId("scrollView1"); // Set style\r
-        scrollView1_->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
-        // Add to rootView\r
-        container_->Add(scrollView1_);\r
-        scrollView1_->SetVisible(true);\r
+        scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+        // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+        scrollView->SetScrollBlankSize(52);\r
+        // scrollView->SetReboundSize(100);\r
+        scrollView->SetTouchable(true);\r
+        scrollView->SetDraggable(true);\r
+        scrollView->SetDirection(1);\r
+        draglistener = static_cast<UIView::OnDragListener *>(TraingMorePresenter::GetInstance());\r
+        scrollView->SetOnDragListener(draglistener);\r
 \r
+        /* -------------------------------------------------------------------------- */\r
         // 初始化Lable\r
-        TraingModel::GetInstance()->InitLabel(label1_, 203, 52, 200, 60, "label1", "训练", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
-        scrollView1_->Add(label1_);\r
-        // 初始化Button\r
-        TraingModel::GetInstance()->InitButton(button1_, 43, 120, 380, 100, BUTTON_FITNESS);\r
-        TraingModel::GetInstance()->InitButton(button2_, 43, 240, 380, 100, BUTTON_DANCE);\r
-        TraingModel::GetInstance()->InitButton(button1_, 43, 120, 380, 100, BUTTON_FITNESS);\r
-        TraingModel::GetInstance()->InitButton(button2_, 43, 240, 380, 100, BUTTON_DANCE);\r
-        TraingModel::GetInstance()->InitButton(button3_, 43, 360, 380, 100, BUTTON_REST);\r
-        TraingModel::GetInstance()->InitButton(button4_, 43, 480, 380, 100, BUTTON_BALL);\r
-        TraingModel::GetInstance()->InitButton(button5_, 43, 600, 380, 100, BUTTON_SWIMMING);\r
-        TraingModel::GetInstance()->InitButton(button6_, 43, 720, 380, 100, BUTTON_ICE);\r
-        TraingModel::GetInstance()->InitButton(button7_, 43, 840, 380, 100, BUTTON_LIMIT);\r
-        TraingModel::GetInstance()->InitButton(button8_, 43, 960, 380, 100, BUTTON_OTHER);\r
-        button1_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button2_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button3_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button4_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button5_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button6_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button7_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-        button8_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingMorePresenter::GetInstance()));\r
-    \r
-\r
-        scrollView1_->Add(button1_);\r
-        scrollView1_->Add(button2_);\r
-        scrollView1_->Add(button3_);\r
-        scrollView1_->Add(button4_);\r
-        scrollView1_->Add(button5_);\r
-        scrollView1_->Add(button6_);\r
-        scrollView1_->Add(button7_);\r
-        scrollView1_->Add(button8_);\r
-        // 初始化image\r
-        TraingModel::GetInstance()->InitImageView(image1_, 360, 160, 100, 100, "image1", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image2_, 360, 280, 100, 100, "image2", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image3_, 360, 400, 100, 100, "image3", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image4_, 360, 520, 100, 100, "image4", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image5_, 360, 640, 100, 100, "image5", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image6_, 360, 760, 100, 100, "image6", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image7_, 360, 880, 100, 100, "image7", ICON_IMAGE);\r
-        TraingModel::GetInstance()->InitImageView(image8_, 360, 1000, 100, 100, "image8", ICON_IMAGE);\r
-        scrollView1_->Add(image1_);\r
-        scrollView1_->Add(image2_);\r
-        scrollView1_->Add(image3_);\r
-        scrollView1_->Add(image4_);\r
-        scrollView1_->Add(image5_);\r
-        scrollView1_->Add(image6_);\r
-        scrollView1_->Add(image7_);\r
-        scrollView1_->Add(image8_);\r
-        // 初始化list\r
-        InitList();\r
-        scrollView1_->Add(list1_);\r
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_TRAINING, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+        scrollView->Add(title);\r
+        // UIList 的适配器\r
+        p_TraingMoreListAdapter = new TraingMoreAdapter();\r
+        p_TraingMoreListAdapter->SetItemClickListener(presenter_);\r
+        if (TraingMoreList == nullptr)\r
+        {\r
+            TraingMoreList = new UIList();\r
+        }\r
+        TraingMoreList->SetPosition(More_LIST_POSITION_X, More_LIST_POSITION_Y);\r
+        TraingMoreList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
+        TraingMoreList->SetScrollBlankSize(More_SCROLLBLANKSIZE);\r
+        TraingMoreList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position\r
+        TraingMoreList->SetDraggable(true);\r
+        TraingMoreList->SetThrowDrag(false);\r
+        TraingMoreList->EnableAutoAlign(true);\r
+        TraingMoreList->SetElastic(true); // 设置回弹效果\r
+        TraingMoreList->SetMaxScrollDistance(MAX_SCR_DIS);\r
+        TraingMoreList->SetYScrollBarVisible(true); // 设置滑动滚动条\r
+\r
+        // 增加表冠控制\r
+        scrollView->SetRotateFactor(2);\r
+        scrollView->RequestFocus();\r
     }\r
-    /* DeInit:删除组件*/\r
-    void TraingMoreView::DeInit()\r
+    UIList *TraingMoreView::GetList()\r
     {\r
-        container_->RemoveAll();\r
-        if (label1_ != nullptr)\r
-        {\r
-            delete label1_;\r
-            label1_ = nullptr;\r
-        }\r
-        if (button1_ != nullptr)\r
-        {\r
-            delete button1_;\r
-            button1_ = nullptr;\r
-        }\r
-        if (button8_ != nullptr)\r
-        {\r
-            delete button8_;\r
-            button8_ = nullptr;\r
-        }\r
-        if (button7_ != nullptr)\r
-        {\r
-            delete button7_;\r
-            button7_ = nullptr;\r
-        }\r
-        if (button6_ != nullptr)\r
-        {\r
-            delete button6_;\r
-            button6_ = nullptr;\r
-        }\r
-        if (button5_ != nullptr)\r
-        {\r
-            delete button5_;\r
-            button5_ = nullptr;\r
-        }\r
-        if (button4_ != nullptr)\r
-        {\r
-            delete button4_;\r
-            button4_ = nullptr;\r
-        }\r
-        if (button3_ != nullptr)\r
-        {\r
-            delete button3_;\r
-            button3_ = nullptr;\r
-        }\r
-        if (button2_ != nullptr)\r
-        {\r
-            delete button2_;\r
-            button2_ = nullptr;\r
-        }\r
-        if (image1_ != nullptr)\r
-        {\r
-            delete image1_;\r
-            image1_ = nullptr;\r
-        }\r
-        if (image2_ != nullptr)\r
-        {\r
-            delete image2_;\r
-            image2_ = nullptr;\r
-        }\r
-        if (image3_ != nullptr)\r
-        {\r
-            delete image3_;\r
-            image3_ = nullptr;\r
-        }\r
-        if (image4_ != nullptr)\r
-        {\r
-            delete image4_;\r
-            image4_ = nullptr;\r
-        }\r
-        if (image5_ != nullptr)\r
-        {\r
-            delete image5_;\r
-            image5_ = nullptr;\r
-        }\r
-        if (image6_ != nullptr)\r
-        {\r
-            delete image6_;\r
-            image6_ = nullptr;\r
-        }\r
-        if (image7_ != nullptr)\r
-        {\r
-            delete image7_;\r
-            image7_ = nullptr;\r
-        }\r
-        if (image8_ != nullptr)\r
-        {\r
-            delete image8_;\r
-            image8_ = nullptr;\r
-        }\r
-        if (list1_ != nullptr)\r
-        {\r
-            delete list1_;\r
-            list1_ = nullptr;\r
-        }\r
-        if (list1adapter_ != nullptr)\r
-        {\r
-            delete list1adapter_;\r
-            list1adapter_ = nullptr;\r
-        }\r
-        if (list1data_ != nullptr)\r
-        {\r
-            list1data_->Clear();\r
-            delete list1data_;\r
-            list1data_ = nullptr;\r
-        }\r
-        if (scrollView1_ != nullptr)\r
-        {\r
-            scrollView1_->RemoveAll();\r
-            delete scrollView1_;\r
-            scrollView1_ = nullptr;\r
-        }\r
-        if (container_ != nullptr)\r
-        {\r
-            container_->RemoveAll();\r
-            delete container_;\r
-            container_ = nullptr;\r
-        }\r
+        return TraingMoreList;\r
+    }\r
+    void TraingMoreView::DeInitView()\r
+    {\r
+        // scrollView-> RemoveAll();\r
+        RemoveAll();\r
+        delete title;\r
+        title = nullptr;\r
+\r
+        delete TraingMoreList;\r
+        TraingMoreList = nullptr;\r
+\r
+        delete scrollView;\r
+        scrollView = nullptr;\r
+\r
+        delete draglistener;\r
+        draglistener = nullptr;\r
     }\r
 \r
     void TraingMoreView::PreLoad(void)\r
     {\r
-        if (!viewiInitStatus)\r
+        if (!viewInitStatus)\r
         {\r
             InitView();\r
-            viewiInitStatus = true;\r
+            viewInitStatus = true;\r
         }\r
     }\r
+\r
+    /// @brief 页面启动时需要执行的代码逻辑\r
     void TraingMoreView::OnStart()\r
     {\r
-        container_ = new UIViewGroup();\r
-        if (container_ == nullptr)\r
-        {\r
-            return;\r
-        }\r
-        container_->SetPosition(0, 0);\r
-        container_->SetWidth(Screen::GetInstance().GetWidth());\r
-        container_->SetHeight(Screen::GetInstance().GetHeight());\r
-\r
-        // 创建 draglistener 实例并设置为拖动监听器\r
-        UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(TraingMorePresenter::GetInstance());\r
-        if (draglistener == nullptr)\r
-        {\r
-            return;\r
-        }\r
-        container_->SetOnDragListener(draglistener);\r
-\r
-        container_->SetTouchable(true);\r
-        container_->SetDraggable(true);\r
-\r
+        View<TraingMorePresenter>::OnStart();\r
+        BaseView::RootView(Color::Black().full);\r
         PreLoad();\r
-        RootView::GetInstance()->Add(container_);\r
     }\r
 \r
+    /// @brief 创建页面的视图。\r
     void TraingMoreView::OnSetUpView()\r
     {\r
-\r
         View<TraingMorePresenter>::OnSetUpView();\r
+        // scrollView->Add(title);\r
+        scrollView->Add(TraingMoreList);\r
+        scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);\r
+        RootView::GetInstance()->Add(scrollView);\r
+        TraingMoreList->SetAdapter(p_TraingMoreListAdapter);\r
+        // TraingMoreList->RefreshList(); // 刷新列表\r
         Draw();\r
     }\r
 \r
+    /// @brief 销毁页面的视图。\r
     void TraingMoreView::OnTearDownView()\r
     {\r
-\r
         View<TraingMorePresenter>::OnTearDownView();\r
         return;\r
     }\r
 \r
+    /// @brief 页面结束时需要执行的销毁逻辑。\r
     void TraingMoreView::OnStop()\r
     {\r
         View<TraingMorePresenter>::OnStop();\r
         RootView::GetInstance()->RemoveAll();\r
+        RootView::GetInstance()->ClearFocus();\r
         return;\r
     }\r
-}\r
+}
\ No newline at end of file
index 348950d..5e460db 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "其他运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1",STR_OTHER_TITLE, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingOtherListAdapter = new TraingOtherAdapter();
index 43fb132..b55faab 100644 (file)
@@ -1,19 +1,3 @@
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 19:51:06
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_rest/src/TraingRestPresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
-/***
- * @Author: Caisking 3449750381@qq.com
- * @Date: 2024-03-19 17:37:19
- * @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-03-26 14:23:32
- * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/src/TraingRestPresenter.cpp
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
- */
 
 #include "AppViewIDs.h"
 #include "components/ui_label_ext.h"
index 4abce77..93354ee 100644 (file)
@@ -61,7 +61,7 @@ namespace OHOS
 
         /* -------------------------------------------------------------------------- */
         // 初始化Lable
-        TraingModel::GetInstance()->InitLabel(title, 173, 52, 200, 60, "label1", "休闲运动", DEFAULT_VECTOR_FONT_FILENAME, 30);
+        TraingModel::GetInstance()->InitLabelExt(title, 155, 52, 200, 60, "label1", STR_RECREATIONAL_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30);
         scrollView->Add(title);
         // UIList 的适配器
         p_TraingRestListAdapter = new TraingRestAdapter();
index eb687d0..a3ed1b8 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/en.lang differ
index d0c2d22..ba90556 100644 (file)
@@ -185,12 +185,25 @@ enum UIResourceTextId : uint16_t {
     STR_OTHER_STILL = 172,\r
     STR_OTHER_TILTING = 173,\r
     STR_OTHER_WHEELCHAIR = 174,\r
-    STR_MAX_ID = 175,\r
+    STR_EXERCISE_LIST = 175,\r
+    STR_BALL_LIST = 176,\r
+    STR_WATER_LIST = 177,\r
+    STR_DANCING_LIST = 178,\r
+    STR_EXTREME_LIST = 179,\r
+    STR_ICE_LIST = 180,\r
+    STR_RECREATIONAL_LIST = 181,\r
+    STR_OTHER_LIST = 182,\r
+    STR_DANCING_TITLE = 183,\r
+    STR_BALL_LIST_TITLE = 184,\r
+    STR_OTHER_TITLE = 185,\r
+    STR_EXERCISE_TITLE = 186,\r
+    STR_TRAINING = 187,\r
+    STR_MAX_ID = 188,\r
 }; // UIResourceTextId\r
 
 enum FontLanguageId : uint8_t {
-    LANGUAGE_ID_EN,\r
     LANGUAGE_ID_ZH,\r
+    LANGUAGE_ID_EN,\r
     LANGUAGE_ID_MAX\r
 }; // UITextLanguageTextId\r
 }\r
index a9aa37a..18730d3 100644 (file)
Binary files a/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang and b/code/sdk/build/config/target_config/brandy/mk_fs_image/fd230/fs/user/res/font/zh.lang differ