From: Caisking <3449750381@qq.com> Date: Wed, 27 Mar 2024 06:15:08 +0000 (+0800) Subject: 增加冰上运动列表 X-Git-Tag: release_V1.2.70_20241020_135402~1256 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=f5de9e94972b33ced4245e91a4878119394bd8bf;p=mirrors%2FFD230.git 增加冰上运动列表 --- diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index 15bd4d2e8..62948b0f4 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -450,12 +450,21 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSsetPresenter.cpp #训练列表 + #极限训练 ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitPresenter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitAdapter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitItemView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_limit/src/TraingLimitModel.cpp + #冰上运动 + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_ice/src/TraingIceView.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_ice/src/TraingIceAdapter.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_ice/src/TraingIceItemView.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_ice/src/TraingIceModel.cpp + + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMoreView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h index d6fdce9b9..ebb75cbcd 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h @@ -68,9 +68,6 @@ typedef enum : uint16_t /* ----------------------------------- 训练 ----------------------------------- */ VIEW_TRAINING, // 训练 VIEW_TRAININGMUSIC, // 训练音乐 - VIEW_TRAININGMORE, // 更多训练 - VIEW_RUNNING, // 跑步训练之列表 - VIEW_TRAININGLIMIT, // 极限运动子列表 VIEW_TRAININGNOMAL, // 正常训练开始界面(除骑行,健走,跑步外) VIEW_TRAININGSET, // 训练目标(时长,卡路里) VIEW_TRAININGSETTIME, // 设置训练时长 @@ -87,6 +84,10 @@ typedef enum : uint16_t VIEW_TRAININGSTRONG, // 训练强度介绍 VIEW_TRAININGWIN, // 目标达成 VIEW_TRAINING_RECORD, // 训练记录 + /* ---------------------------------- 训练列表 ---------------------------------- */ + VIEW_TRAININGMORE, // 更多训练 + VIEW_TRAININGLIMIT, // 极限运动列表 + VIEW_TRAININGICE, // 冰上运动列表 /* ---------------------------------- GPS训练 --------------------------------- */ VIEW_TRAININGGPS, // GPS训练 VIEW_TRAININGGPSSET, // GPS训练目标(时长,距离,卡路里,步数) diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h index 979d989c6..0758d450a 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/NativeLauncher.h @@ -55,11 +55,8 @@ namespace OHOS /* ----------------------------------- 训练 ----------------------------------- */ void InitTraingSlice(void); void InitTraingMusicSlice(void); - void InitTraingMoreSlice(void); - void InitTraingListLimitSlice(void); void InitTraingNomalSlice(void); void InitTraingSetSlice(void); - void InitTraingGPSSetSlice(void); void InitTraingStrongSlice(void); void InitTraingSetTimeSlice(void); void InitTraingSetCaluliSlice(void); @@ -72,15 +69,21 @@ namespace OHOS void InitTraingEndnoteSlice(void); void InitTraingEndnote2Slice(void); void InitTraingEnddataSlice(void); + void InitTraingWinSlice(void); + + void InitTraingGPSSetSlice(void); void InitTraingGPSSlice(void); void InitTraingGPSlackSlice(void); void InitTraingGPSnoteSlice(void); void InitTraingGPSlostSlice(void); void InitTraingGPSbackSlice(void); - void InitTraingWinSlice(void); - /* -------------------------------------------------------------------------- */ - void InitTraingRecordSlice(void); - /* -------------------------------------------------------------------------- */ + + void InitTraingMoreSlice(void); // 更多训练 + void InitTraingLimitSlice(void); // 极限训练 + void InitTraingIceSlice(void); // 冰上训练 + + void InitTraingRecordSlice(void); // 训练记录 + /* -------------------------------------------------------------------------- */ void InitSecondaryFunction(void); void InitFastTrainingSlice(void); void InitFastTrainingAttentionSlice(void); diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index b1e2dc9e8..710cb073b 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -192,6 +192,8 @@ #include "traing/training_list_more/include/TraingMoreView.h" #include "traing/training_list_limit/include/TraingLimitPresenter.h" #include "traing/training_list_limit/include/TraingLimitView.h" +#include "traing/training_list_ice/include/TraingIcePresenter.h" +#include "traing/training_list_ice/include/TraingIceView.h" /* ---------------------------------- 主界面卡片 --------------------------------- */ #include "traing/training_card/include/TraingCardPresenter.h" #include "traing/training_card/include/TraingCardView.h" @@ -262,8 +264,6 @@ namespace OHOS /* ----------------------------------- 训练 ----------------------------------- */ {VIEW_TRAINING, &NativeLauncher::InitTraingSlice}, // 训练 {VIEW_TRAININGMUSIC, &NativeLauncher::InitTraingMusicSlice}, // 训练音乐卡片 - {VIEW_TRAININGMORE, &NativeLauncher::InitTraingMoreSlice}, // 更多训练 - {VIEW_TRAININGLIMIT, &NativeLauncher::InitTraingListLimitSlice}, // 极限训练 {VIEW_TRAININGNOMAL, &NativeLauncher::InitTraingNomalSlice}, // 正常训练初始界面 {VIEW_TRAININGSET, &NativeLauncher::InitTraingSetSlice}, // 训练目标设置界面 {VIEW_TRAININGGPSSET, &NativeLauncher::InitTraingGPSSetSlice}, // 训练GPS目标设置界面 @@ -278,14 +278,21 @@ namespace OHOS {VIEW_TRAININGENDNOTE, &NativeLauncher::InitTraingEndnoteSlice}, // 训练结束提醒 {VIEW_TRAININGENDNOTE2, &NativeLauncher::InitTraingEndnote2Slice}, // 训练结束时间太短提醒 {VIEW_TRAININGENDDATA, &NativeLauncher::InitTraingEnddataSlice}, // 训练结束详细数据 - {VIEW_TRAININGGPS, &NativeLauncher::InitTraingGPSSlice}, // GPS训练 - {VIEW_TRAININGGPSLACK, &NativeLauncher::InitTraingGPSlackSlice}, // GPS缺少 - {VIEW_TRAININGGPSNOTE, &NativeLauncher::InitTraingGPSnoteSlice}, // 提醒连接GPS - {VIEW_TRAININGSTRONG, &NativeLauncher::InitTraingStrongSlice}, // 训练强度介绍 - {VIEW_TRAININGGPSLOST, &NativeLauncher::InitTraingGPSlostSlice}, // GPS断联 - {VIEW_TRAININGGPSBACK, &NativeLauncher::InitTraingGPSbackSlice}, // GPS回连 {VIEW_TRAININGWIN, &NativeLauncher::InitTraingWinSlice}, // 训练目标达成 - {VIEW_TRAINING_RECORD, &NativeLauncher::InitTraingRecordSlice}, // 训练目标达成 + {VIEW_TRAINING_RECORD, &NativeLauncher::InitTraingRecordSlice}, // 训练目标达成 + + {VIEW_TRAININGGPSSET, &NativeLauncher::InitTraingGPSSetSlice}, // 训练GPS目标设置界面 + {VIEW_TRAININGGPS, &NativeLauncher::InitTraingGPSSlice}, // GPS训练 + {VIEW_TRAININGGPSLACK, &NativeLauncher::InitTraingGPSlackSlice}, // GPS缺少 + {VIEW_TRAININGGPSNOTE, &NativeLauncher::InitTraingGPSnoteSlice}, // 提醒连接GPS + {VIEW_TRAININGSTRONG, &NativeLauncher::InitTraingStrongSlice}, // 训练强度介绍 + {VIEW_TRAININGGPSLOST, &NativeLauncher::InitTraingGPSlostSlice}, // GPS断联 + {VIEW_TRAININGGPSBACK, &NativeLauncher::InitTraingGPSbackSlice}, // GPS回连 + + {VIEW_TRAININGMORE, &NativeLauncher::InitTraingMoreSlice}, // 更多训练 + {VIEW_TRAININGLIMIT, &NativeLauncher::InitTraingLimitSlice}, // 极限训练 + {VIEW_TRAININGICE, &NativeLauncher::InitTraingIceSlice}, // 冰上训练 + /* -------------------------------------------------------------------------- */ #ifdef SUPPORT_ALIPAY_SEC @@ -862,16 +869,6 @@ namespace OHOS SliceProxy *traingview = new AbilitySliceProxy; NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAINING, traingview); } - void NativeLauncher::InitTraingMoreSlice(void) - { - SliceProxy *traingmoreview = new AbilitySliceProxy; - NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGMORE, traingmoreview); - } - void NativeLauncher::InitTraingListLimitSlice(void) - { - SliceProxy *TraingListLimitview = new AbilitySliceProxy; - NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGLIMIT, TraingListLimitview); - } void NativeLauncher::InitTraingNomalSlice(void) { SliceProxy *traingnomalview = new AbilitySliceProxy; @@ -942,6 +939,22 @@ namespace OHOS SliceProxy *traingenddataview = new AbilitySliceProxy; NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGENDDATA, traingenddataview); } + void NativeLauncher::InitTraingWinSlice(void) + { + SliceProxy *traingwinview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGWIN, traingwinview); + } + void NativeLauncher::InitTraingRecordSlice(void) + { + SliceProxy *traingrecordview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAINING_RECORD, traingrecordview); + } + void NativeLauncher::InitTraingMusicSlice(void) + { + SliceProxy *traingmusicview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGMUSIC, traingmusicview); + } + /* -------------------------------------------------------------------------- */ void NativeLauncher::InitTraingGPSSlice(void) { SliceProxy *traingGPSview = new AbilitySliceProxy; @@ -972,20 +985,21 @@ namespace OHOS SliceProxy *traingGPSbackview = new AbilitySliceProxy; NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSBACK, traingGPSbackview); } - void NativeLauncher::InitTraingWinSlice(void) + /* ---------------------------------- 训练列表 ---------------------------------- */ + void NativeLauncher::InitTraingMoreSlice(void) { - SliceProxy *traingwinview = new AbilitySliceProxy; - NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGWIN, traingwinview); + SliceProxy *traingmoreview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGMORE, traingmoreview); } - void NativeLauncher::InitTraingRecordSlice(void) + void NativeLauncher::InitTraingLimitSlice(void) { - SliceProxy *traingrecordview = new AbilitySliceProxy; - NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAINING_RECORD, traingrecordview); + SliceProxy *TraingLimitview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGLIMIT, TraingLimitview); } - void NativeLauncher::InitTraingMusicSlice(void) + void NativeLauncher::InitTraingIceSlice(void) { - SliceProxy *traingmusicview = new AbilitySliceProxy; - NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGMUSIC, traingmusicview); + SliceProxy *TraingIceview = new AbilitySliceProxy; + NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGICE, TraingIceview); } /* -------------------------------------------------------------------------- */ diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h new file mode 100644 index 000000000..4cea6fed1 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceAdapter.h @@ -0,0 +1,55 @@ +/*** + * @Author: Caisking 3449750381@qq.com + * @Date: 2024-03-27 11:09:52 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-03-27 11:14:03 + * @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 + */ + +#ifndef TraingIce_ADAPTER_H +#define TraingIce_ADAPTER_H +#include +#include +#include "components/ui_list.h" +#include "components/abstract_adapter.h" +#include "components/ui_label.h" +#include "components/ui_checkbox.h" +#include "AppViewIDs.h" + +// 列表的适配器 +namespace OHOS +{ + + typedef struct + { + AppViewId id; + const char *label; // 标签 + } TraingIceItem; + + class TraingIceAdapter : public AbstractAdapter + { + public: + explicit TraingIceAdapter(); + virtual ~TraingIceAdapter(); + + void SetData(std::list &data); + + virtual uint16_t GetCount(void) override; + + virtual UIView *GetView(UIView *inView, int16_t index) override; + + virtual void AddItem(const TraingIceItem &item); + + void SetItemClickListener(UIView::OnClickListener *itemclicklistener) + { + itemClickListener = itemclicklistener; + } + + private: + std::list listData; + UIView::OnClickListener *itemClickListener{nullptr}; + }; +} + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h new file mode 100644 index 000000000..97c96d764 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h @@ -0,0 +1,50 @@ +/*** + * @Author: Caisking 3449750381@qq.com + * @Date: 2024-03-27 11:12:32 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-03-27 11:14:36 + * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceItemView.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +/*** + * @Author: Caisking 3449750381@qq.com + * @Date: 2024-03-26 17:05:18 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-03-26 18:24:58 + * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingIceItemView.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ + +#ifndef TraingIce_ITEM_VIEW_H +#define TraingIce_ITEM_VIEW_H + +#include "components/ui_label.h" +#include "components/ui_view_group.h" +#include "components/ui_checkbox.h" +#include "components/ui_image_view.h" +#include "traing/training_list_ice/include/TraingIceAdapter.h" +#include "components/ui_label_button.h" +#include "AppViewIDs.h" +#include "ohos_types.h" + +namespace OHOS +{ + class TraingIceItemView : public UIViewGroup + { + public: + explicit TraingIceItemView(); + virtual ~TraingIceItemView(); + virtual void SetItemInfo(const TraingIceItem itemInfo); + virtual void SetUpChild(); + AppViewId GetTraingIceIndex(); + + private: + TraingIceItemView(const TraingIceItemView &); + UIImageView sbackground; // 背景 + UIImageView sicon; // 箭头 + UILabel sLabel; // 标签 + TraingIceItem sItemInfo = {VIEW_INVALID, nullptr}; + }; + +} +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceModel.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceModel.h new file mode 100644 index 000000000..1988a7bad --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceModel.h @@ -0,0 +1,35 @@ + +#ifndef TraingIce_MODEL_H +#define TraingIce_MODEL_H + +#include +#include +#include "AppViewIDs.h" +#include "UiConfig.h" +#include "TraingIcePresenter.h" +#include "traing/training_list_ice/include/TraingIceAdapter.h" + +namespace OHOS +{ + class TraingIceModel + { + public: + static TraingIceModel &GetInstance(void); + void InitTraingIceListItem(); + const TraingIceItem *GetTraingIcelistItems() const; + uint8_t GetTraingIceListNum() const; + // const std::map &GetTraingIceIdToViewId() const; + + private: + TraingIceModel(); + TraingIceModel(const TraingIceModel &); + TraingIceModel &operator=(const TraingIceModel &); + virtual ~TraingIceModel(); + static const uint16_t TraingIceListMaxNum = 12; + TraingIceItem TraingIces[TraingIceListMaxNum] = {VIEW_INVALID, nullptr}; + // std::map TraingIceIdToViewId; + bool btConnectStatus{false}; + }; +} + +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIcePresenter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIcePresenter.h new file mode 100644 index 000000000..c599bf3ce --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIcePresenter.h @@ -0,0 +1,46 @@ +/*** + * @Author: Caisking 3449750381@qq.com + * @Date: 2024-03-26 09:44:11 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-03-27 11:29:03 + * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIcePresenter.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ + + +#ifndef _TraingIce_PRESENTER_H +#define _TraingIce_PRESENTER_H + +#include "Presenter.h" +#include "TraingIceView.h" + +namespace OHOS +{ + class TraingIceView; + class TraingIceModel; + class TraingIcePresenter : public Presenter, + public UIView::OnClickListener, + public UIView::OnDragListener + { + public: + TraingIcePresenter(); + virtual ~TraingIcePresenter(); + + void OnStart() override; + void OnPause() override; + void OnResume() override; + void OnStop() override; + + static TraingIcePresenter *GetInstance(); + + private: + // 因为继承了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; + + TraingIceModel *p_TraingIceModel{nullptr}; + }; +} // namespace OHOS + +#endif // SLEEPDETAIL_PRESENTER_H \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceView.h new file mode 100644 index 000000000..c23d7e342 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingIceView.h @@ -0,0 +1,52 @@ + +#ifndef TraingIce_VIEW_H +#define TraingIce_VIEW_H + +#include "BaseView.h" +#include "View.h" +#include "components/ui_view_group.h" +#include "components/ui_scroll_view.h" +#include "components/ui_list.h" +#include "traing/training_list_ice/include/TraingIceAdapter.h" +#include "traing/training_list_ice/include/TraingIceModel.h" +#include "components/ui_label_button_ext.h" +#include "components/ui_label_ext.h" + +namespace OHOS +{ + class TraingIcePresenter; + class TraingIceModel; + class TraingIceView : public View, public UIViewGroup + { + + public: + TraingIceView(); + virtual ~TraingIceView(); + static TraingIceView *GetInstance(void); + + void OnStart() override; + void OnSetUpView() override; + void OnTearDownView() override; + void OnStop() override; + + UIList *GetList(); + void AddToTraingIceList(const TraingIceItem &item); + + private: + void InitView(void); + void DeInitView(void); + void PreLoad(void); + + private: + UIScrollView *scrollView = nullptr; + UILabelExt *title{nullptr}; + TraingIceAdapter *p_TraingIceListAdapter{nullptr}; + UIList *TraingIceList = nullptr; + UIView::OnDragListener *draglistener{nullptr}; + + TraingIcePresenter *g_TraingIcePresenter{nullptr}; + TraingIceModel *g_TraingIceModel{nullptr}; + bool viewInitStatus{false}; + }; +} // namespace OHOS +#endif \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingListIcePresenter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingListIcePresenter.h deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingListIceView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/include/TraingListIceView.h deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceAdapter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceAdapter.cpp new file mode 100644 index 000000000..af9e02526 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceAdapter.cpp @@ -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 11:16:09 + * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceAdapter.cpp + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +#include "traing/training_list_ice/include/TraingIceAdapter.h" +#include "traing/training_list_ice/include/TraingIceModel.h" +#include "traing/training_list_ice/include/TraingIceItemView.h" + +#include "wearable_log.h" + +namespace OHOS +{ + TraingIceAdapter::TraingIceAdapter() {} + + TraingIceAdapter::~TraingIceAdapter() + { + listData.clear(); + } + + uint16_t TraingIceAdapter::GetCount(void) + { + return listData.size(); + } + + void TraingIceAdapter::SetData(std::list &data) + { + if (!listData.empty()) + { + listData.clear(); + } + std::list::iterator it; + for (it = data.begin(); it != data.end(); it++) + { + listData.push_back(*it); + } + } + + /// @brief 为列表的每一项创建一个视图 + /// @param inView 一个指向已存在的视图对象的指 + /// @param index 要创建的视图在列表中的索引l。 + /// @return 返回该视图对象 + UIView *TraingIceAdapter::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::iterator it = listData.begin(); + for (int i = 0; i < index; i++) + { + it++; + } + TraingIceItem itemData = *it; + TraingIceItemView *item = nullptr; + /* + 5.根据传入的inView参数是否已经存在一个视图对象, + 若为空则创建一个新的MessageItemView对象, + 否则将inView转换成MessageItemView类型的指针 + */ + if (inView == nullptr) + { + item = new TraingIceItemView(); + } + else + { + item = static_cast(inView); + } + item->SetItemInfo(itemData); + item->SetOnClickListener(itemClickListener); + return item; + } + + void TraingIceAdapter::AddItem(const TraingIceItem &item) + { + listData.push_back(item); + } +} // namespace OHOS diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceItemView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceItemView.cpp new file mode 100644 index 000000000..779f5d59e --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceItemView.cpp @@ -0,0 +1,59 @@ + +#include "traing/training_list_ice/include/TraingIceItemView.h" +#include "traing/include/TraingModel.h" +#include "traing/Training_UiConfig.h" +#include "UiConfig.h" +namespace OHOS +{ + + TraingIceItemView::TraingIceItemView() + { + 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); + } + + TraingIceItemView::~TraingIceItemView() + { + Remove(&sbackground); + Remove(&sicon); + Remove(&sLabel); + } + + /// @brief 设置item的信息 + /// @param itemInfo + void TraingIceItemView::SetItemInfo(const TraingIceItem itemInfo) + { + sItemInfo = itemInfo; + sLabel.SetText(itemInfo.label); + } + + /// @brief 设置每一个itemview上的组件 + void TraingIceItemView::SetUpChild() + { + sbackground.SetSrc(PNG_SETTING_BACKGROUND_IMAGE); + + 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 TraingIceItemView::GetTraingIceIndex() + { + return sItemInfo.id; + } + +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceModel.cpp new file mode 100644 index 000000000..12fcd06f5 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceModel.cpp @@ -0,0 +1,56 @@ +/*** + * @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_ice/src/TraingIceModel.cpp + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ + +#include "traing/training_list_ice/include/TraingIceModel.h" +#include "common/image_cache_manager.h" +#include "UiConfig.h" +#include "ui_resource_image.h" +#include "AppViewIDs.h" +namespace OHOS +{ + + TraingIceModel::TraingIceModel() {} + + TraingIceModel::~TraingIceModel() {} + + TraingIceModel &TraingIceModel::GetInstance() + { + static TraingIceModel instance; + return instance; + } + + static char *text[] = {"一般冰上运动", "溜冰", "冰球", "冰石壶/冰壶", "雪上摩托车", "雪橇", "冬季两项", "越野滑雪", "滑雪", "单板滑雪/滑雪板", "雪鞋健行", "雪地运动"}; + + void TraingIceModel::InitTraingIceListItem() + { + TraingIces[0] = {VIEW_TRAININGNOMAL, "一般冰上运动"}; + TraingIces[1] = {VIEW_TRAININGNOMAL, "溜冰"}; + TraingIces[2] = {VIEW_TRAININGNOMAL, "冰球"}; + TraingIces[3] = {VIEW_TRAININGNOMAL, "冰石壶/冰壶"}; + TraingIces[4] = {VIEW_TRAININGNOMAL, "雪上摩托车"}; + TraingIces[5] = {VIEW_TRAININGNOMAL, "雪橇"}; + TraingIces[6] = {VIEW_TRAININGNOMAL, "冬季两项"}; + TraingIces[7] = {VIEW_TRAININGNOMAL, "越野滑雪"}; + TraingIces[8] = {VIEW_TRAININGNOMAL, "滑雪"}; + TraingIces[9] = {VIEW_TRAININGNOMAL, "单板滑雪/滑雪板"}; + TraingIces[10] = {VIEW_TRAININGNOMAL, "雪鞋健行"}; + TraingIces[11] = {VIEW_TRAININGNOMAL, "雪地运动"}; + } + + + const TraingIceItem *TraingIceModel::GetTraingIcelistItems() const + { + return TraingIces; + } + uint8_t TraingIceModel::GetTraingIceListNum() const + { + return TraingIceListMaxNum; + } + +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp new file mode 100644 index 000000000..4f902f7fa --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIcePresenter.cpp @@ -0,0 +1,113 @@ +/*** + * @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 "NativeAbility.h" + +#include +#include +#include +#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" + +namespace OHOS +{ + extern const char *Ice_buttons[]; + extern char *Ice_text[]; + + // 当前Presenter属性实例化的内存指针 + static TraingIcePresenter *g_pTraingIcePresenter = nullptr; + + TraingIcePresenter::TraingIcePresenter() + { + p_TraingIceModel = &TraingIceModel::GetInstance(); + g_pTraingIcePresenter = this; + } + + TraingIcePresenter::~TraingIcePresenter() + { + + g_pTraingIcePresenter = nullptr; + } + + TraingIcePresenter *TraingIcePresenter::GetInstance() + { + + return g_pTraingIcePresenter; + } + + void TraingIcePresenter::OnStart() + { + p_TraingIceModel->InitTraingIceListItem(); + Presenter::OnStart(); + } + + void TraingIcePresenter::OnPause(void) + { + Presenter::OnPause(); + } + + void TraingIcePresenter::OnResume(void) + { + if (view_ == nullptr) + { + return; + } + const TraingIceItem *itemInfo = p_TraingIceModel->GetTraingIcelistItems(); + for (int i = 0; i < p_TraingIceModel->GetTraingIceListNum(); i++) + { + view_->AddToTraingIceList(itemInfo[i]); + } + Presenter::OnResume(); + } + + void TraingIcePresenter::OnStop(void) + { + + Presenter::OnStop(); + } + bool TraingIcePresenter::OnDrag(UIView &view, const DragEvent &event) + { + return true; + } + bool TraingIcePresenter::OnDragEnd(UIView &view, const DragEvent &event) + { + if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) + { + NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGMORE); + } + UNUSED(view); + return true; + } + + bool TraingIcePresenter::OnClick(UIView &view, const ClickEvent &event) + { + UNUSED(event); + TraingIceItemView *itemView = static_cast(&view); + AppViewId viewId = itemView->GetTraingIceIndex(); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ApplistPresenter::OnClick viewid = %d\n", viewId); + if (viewId < VIEW_MAX_INTER_APP) + { + NativeAbility::GetInstance().ChangeSlice(viewId); + return true; + } + return false; + } + +} diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp new file mode 100644 index 000000000..2201ad008 --- /dev/null +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingIceView.cpp @@ -0,0 +1,151 @@ +#include "traing/training_list_ice/include/TraingIceView.h" +#include "traing/training_list_ice/include/TraingIcePresenter.h" +#include "traing/include/TraingModel.h" +#include "traing/Training_UiConfig.h" + +#include "UiConfig.h" +#include "wearable_log.h" + +namespace OHOS +{ + static constexpr uint8_t NUM_2 = 2; + static TraingIceView *g_pTraingIceView{nullptr}; + /* --------------------------------- List --------------------------------- */ + static constexpr int16_t Ice_LIST_POSITION_X = 43; + static constexpr int16_t Ice_LIST_POSITION_Y = 120; + static constexpr int16_t Ice_SCROLLBLANKSIZE = 35; // 设置此滚动视图的空白大小。 + static constexpr int16 MAX_SCR_DIS = 1000; + static constexpr int16 LIST_POS = 20; + static constexpr int16 SNUM_2 = 2; + + TraingIceView::TraingIceView() + { + g_pTraingIceView = this; + } + + TraingIceView::~TraingIceView() + { + if (viewInitStatus == true) + { + DeInitView(); + } + g_pTraingIceView = nullptr; + } + + TraingIceView *TraingIceView::GetInstance() + { + return g_pTraingIceView; + } + /// @param item + void TraingIceView::AddToTraingIceList(const TraingIceItem &item) + { + p_TraingIceListAdapter->AddItem(item); + } + void TraingIceView::InitView() + { + if (scrollView == nullptr) + { + scrollView = new UIScrollView(); + } + scrollView->SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + // scrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff); + scrollView->SetScrollBlankSize(52); + // scrollView->SetReboundSize(100); + scrollView->SetTouchable(true); + scrollView->SetDraggable(true); + scrollView->SetDirection(1); + draglistener = static_cast(TraingIcePresenter::GetInstance()); + scrollView->SetOnDragListener(draglistener); + scrollView->SetYScrollBarVisible(true); // 设置滑动滚动条 + /* -------------------------------------------------------------------------- */ + // 初始化Lable + TraingModel::GetInstance()->InitLabelExt(title, 173, 52, 200, 60, "label1", "冰上运动", DEFAULT_VECTOR_FONT_FILENAME, 30); + scrollView->Add(title); + // UIList 的适配器 + p_TraingIceListAdapter = new TraingIceAdapter(); + p_TraingIceListAdapter->SetItemClickListener(presenter_); + if (TraingIceList == nullptr) + { + TraingIceList = new UIList(); + } + TraingIceList->SetPosition(Ice_LIST_POSITION_X, Ice_LIST_POSITION_Y); + TraingIceList->Resize(HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + TraingIceList->SetScrollBlankSize(Ice_SCROLLBLANKSIZE); + TraingIceList->SetSelectPosition(HORIZONTAL_RESOLUTION / SNUM_2); // middle position + TraingIceList->SetDraggable(true); + TraingIceList->SetThrowDrag(false); + TraingIceList->EnableAutoAlign(true); + TraingIceList->SetElastic(true); // 设置回弹效果 + TraingIceList->SetMaxScrollDistance(MAX_SCR_DIS); + + // 增加表冠控制 + TraingIceList->SetRotateFactor(2); + TraingIceList->RequestFocus(); + } + UIList *TraingIceView::GetList() + { + return TraingIceList; + } + void TraingIceView::DeInitView() + { + // scrollView-> RemoveAll(); + RemoveAll(); + delete title; + title = nullptr; + + delete TraingIceList; + TraingIceList = nullptr; + + delete scrollView; + scrollView = nullptr; + + delete draglistener; + draglistener = nullptr; + } + + void TraingIceView::PreLoad(void) + { + if (!viewInitStatus) + { + InitView(); + viewInitStatus = true; + } + } + + /// @brief 页面启动时需要执行的代码逻辑 + void TraingIceView::OnStart() + { + View::OnStart(); + BaseView::RootView(Color::Black().full); + PreLoad(); + } + + /// @brief 创建页面的视图。 + void TraingIceView::OnSetUpView() + { + View::OnSetUpView(); + // scrollView->Add(title); + scrollView->Add(TraingIceList); + scrollView->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT); + RootView::GetInstance()->Add(scrollView); + TraingIceList->SetAdapter(p_TraingIceListAdapter); + // TraingIceList->RefreshList(); // 刷新列表 + Draw(); + } + + /// @brief 销毁页面的视图。 + void TraingIceView::OnTearDownView() + { + View::OnTearDownView(); + return; + } + + /// @brief 页面结束时需要执行的销毁逻辑。 + void TraingIceView::OnStop() + { + View::OnStop(); + RootView::GetInstance()->RemoveAll(); + RootView::GetInstance()->ClearFocus(); + return; + } +} \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingListIcePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingListIcePresenter.cpp deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingListIceView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_ice/src/TraingListIceView.cpp deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h index f4c44b474..2e84993a1 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitAdapter.h @@ -17,7 +17,7 @@ #include "components/ui_checkbox.h" #include "AppViewIDs.h" -// 音乐列表的适配器 +// 列表的适配器 namespace OHOS { diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h index f753f6118..c94ee06c2 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h @@ -6,14 +6,6 @@ * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h * @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:18 - * @LastEditors: Caisking 3449750381@qq.com - * @LastEditTime: 2024-03-26 18:26:49 - * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitPresenter.h - * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE - */ #ifndef _TraingLimit_PRESENTER_H #define _TraingLimit_PRESENTER_H diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h index 8371ad20e..3fcc7fb45 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h @@ -1,3 +1,11 @@ +/*** + * @Author: Caisking 3449750381@qq.com + * @Date: 2024-03-19 17:37:18 + * @LastEditors: Caisking 3449750381@qq.com + * @LastEditTime: 2024-03-27 11:15:59 + * @FilePath: /sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/include/TraingLimitView.h + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ #ifndef TraingLimit_VIEW_H #define TraingLimit_VIEW_H diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp index e054a7b7f..18d6a84de 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_limit/src/TraingLimitView.cpp @@ -59,7 +59,7 @@ namespace OHOS scrollView->SetYScrollBarVisible(true); // 设置滑动滚动条 /* -------------------------------------------------------------------------- */ // 初始化Lable - TraingModel::GetInstance()->InitLabelExt(title, 173, 52, 200, 60, "label1", "极限训练", DEFAULT_VECTOR_FONT_FILENAME, 30); + TraingModel::GetInstance()->InitLabelExt(title, 173, 52, 200, 60, "label1", "极限运动", DEFAULT_VECTOR_FONT_FILENAME, 30); scrollView->Add(title); // UIList 的适配器 p_TraingLimitListAdapter = new TraingLimitAdapter(); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp index c39fe2743..c84ccf79d 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_list_more/src/TraingMorePresenter.cpp @@ -99,7 +99,7 @@ namespace OHOS } if (strcmp(view.GetViewId(), BUTTON_ICE) == 0) { - NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGLIMIT); + NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGICE); } if (strcmp(view.GetViewId(), BUTTON_LIMIT) == 0) {