From: Caisking <3449750381@qq.com> Date: Sun, 7 Apr 2024 08:02:07 +0000 (+0800) Subject: 增加训练控制卡片 X-Git-Tag: release_V1.2.70_20241020_135402~1200^2~30 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=aeb71650c53a4d73439a50e44a09f78ac5809253;p=mirrors%2FFD230.git 增加训练控制卡片 --- diff --git a/code/sdk/application/wearable/fd230app/CMakeLists.txt b/code/sdk/application/wearable/fd230app/CMakeLists.txt index e2ff02ffd..6a1bb4232 100644 --- a/code/sdk/application/wearable/fd230app/CMakeLists.txt +++ b/code/sdk/application/wearable/fd230app/CMakeLists.txt @@ -448,7 +448,8 @@ set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/Training_CardPresenter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/TraingCardView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/TraingCardPresenter.cpp - + ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/TrainingControlView.cpp + #训练记录 ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordView.cpp ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordPresenter.cpp diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h index 113b71df6..4e8818d6e 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h +++ b/code/sdk/application/wearable/fd230app/nativelauncher/include/AppViewIDs.h @@ -77,7 +77,7 @@ typedef enum : uint16_t VIEW_TRAININGSETCALULI, // 设置训练卡路里 VIEW_TRAININGSETDIST, // 设置训练路程 VIEW_TRAININGSETSTEP, // 设置训练步数 - VIEW_TRAININGCRAD, // 训练卡片 + VIEW_TRAININGCRAD, // 训练控制卡片 VIEW_TRAININGCONTROL, // 训练控制(包括结束,暂停,继续训练) VIEW_TRAININGDATA, // 训练数据 VIEW_TRAININGDETAIL, // 详细训练数据 diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp index 45e9474ee..fb472cd97 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingNomalPresenter.cpp @@ -97,9 +97,9 @@ namespace OHOS } if (strcmp(view.GetViewId(), BUTTONGO) == 0) { - NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCONTROL); + NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD); } - + return true; } } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h index 2126ea165..dfb87907a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TraingCardView.h @@ -20,13 +20,27 @@ #include "traing/include/TraingModel.h" #include "traing/Training_UiConfig.h" #include "components/ui_swipe_view.h" +#include "components/ui_cross_view.h" #include "traing/include/TraingModel.h" #include "traing/Training_UiConfig.h" -#include "TraingCardPresenter.h" +#include "traing/training_card/include/TraingCardPresenter.h" + +#include "PlayersView.h" +#include "traing/training_card/include/TrainingControlView.h" +#include "traing/include/TraingDataView.h" + namespace OHOS { + enum Control_Card + { + CONTROL = 0, + // DATA, + MUSIC + }; + class TraingCardPresenter; + class TrainingControlView; class TraingCardView : public View { @@ -34,11 +48,16 @@ namespace OHOS TraingCardView(); virtual ~TraingCardView(); static TraingCardView *GetInstance(void); - + void OnStart() override; void OnSetUpView() override; void OnTearDownView() override; void OnStop() override; + + UICardPage *InitControlPage(void); + UICardPage *InitDataPage(void); + UICardPage *InitMusicPage(void); + void InitView(); void DeInit(); void InitList(); @@ -55,9 +74,9 @@ namespace OHOS UISwipeView *swipe_ = nullptr; - UILabelExt *label1_ = nullptr; - UILabelExt *label2_ = nullptr; - UILabelExt *label3_ = nullptr; + TrainingControlView *ControlView{nullptr}; + TraingDataView *DataVIew{nullptr}; + PlayersView *MusicView{nullptr}; bool viewiInitStatus{false}; }; diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingControlView.h b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingControlView.h index f01eaa395..adbda5f6a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingControlView.h +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/include/TrainingControlView.h @@ -1,34 +1,65 @@ -// /* -// * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. -// * Description: TrainingControlView.h -// * Author: -// * Create: 2022-04-02 -// */ - -// #ifndef Training_CONTROL_VIEW_H -// #define Training_CONTROL_VIEW_H - -// #include "components/root_view.h" -// #include "UiConfig.h" -// #include "components/ui_card_page.h" -// //#include "TrainingCalibrationView.h" -// #include "TrainingView.h" - -// namespace OHOS { - -// class TrainingControlView : public UICardPage { -// public: -// TrainingControlView(); -// virtual ~TrainingControlView(); -// bool InitView(void); -// void PreLoad(void) override; -// void UnLoad(void) override; -// private: -// TrainingCalibrationView *TrainingCalibrationView{nullptr}; -// TrainingView *TrainingView{nullptr}; -// bool viewiInitStatus{false}; - -// void ClearAll(void); -// }; -// } -// #endif +/* + * Copyright (c) CompanyNameMagicTag 2022-2022. All rights reserved. + * Description: TrainingControlView.h + * Author: + * Create: 2022-04-02 + */ + +#ifndef Training_CONTROL_VIEW_H +#define Training_CONTROL_VIEW_H + +#include "components/root_view.h" +#include "UiConfig.h" +#include "components/ui_card_page.h" +#include "BaseView.h" +#include "View.h" +#include +#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_card_page.h" +#include "traing/training_card/include/TraingCardPresenter.h" +#include "traing/training_card/include/TrainingControlView.h" +namespace OHOS +{ +#define BUTTONEND "buttonend" +#define BUTTONSTOP "buttonstop" +#define BUTTONCONTINUE "button3" + class TrainingControlView : public UICardPage + { + public: + TrainingControlView(); + virtual ~TrainingControlView(); + static TrainingControlView *GetInstance(void); + + void InitView(void); + void DeInit(); + + void PreLoad(void) override; + void UnLoad(void) override; + + void SetButton(); + void SetLabel(); + + private: + UIView::OnDragListener *draglistener{nullptr}; + bool viewiInitStatus{false}; + + UIButton *buttonEnd = nullptr; // 结束按键 + UIButton *buttonStop = nullptr; // 暂停按键 + + UILabelExt *labeltimer = nullptr; // 计时timer + UILabelExt *labelend = nullptr; + UILabelExt *labelstop = nullptr; + UILabelExt *labeltitle = nullptr; + + UIImageView *imagepoint = nullptr; + + void ClearAll(void); + }; +} +#endif diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp index 3279404d6..9e4184338 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardPresenter.cpp @@ -2,7 +2,7 @@ #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 @@ -19,7 +19,6 @@ namespace OHOS TraingCardPresenter::TraingCardPresenter() { - g_pTraingCardPresenter = this; } @@ -31,8 +30,8 @@ namespace OHOS TraingCardPresenter *TraingCardPresenter::GetInstance() { - - return g_pTraingCardPresenter; + static TraingCardPresenter instance; + return &instance; } void TraingCardPresenter::OnStart() diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp index 54d327615..fb89d3813 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TraingCardView.cpp @@ -2,7 +2,7 @@ #include "traing/training_card/include/TraingCardView.h" #include "common/image_cache_manager.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 "ui_resource_image.h" #include @@ -37,43 +37,74 @@ namespace OHOS return g_pTraingCardView; } - + /* InitView:初始化界面*/ void TraingCardView ::InitView() { + UISwipeView::OnSwipeListener *listener = nullptr; + if (swipe_ == nullptr) { - swipe_ = new UISwipeView(UISwipeView::HORIZONTAL); + swipe_ = new UISwipeView(); swipe_->SetPosition(0, 0, 466, 466); swipe_->SetStyle(STYLE_BACKGROUND_OPA, 0); } - // 初始化Lable - TraingModel::GetInstance()->InitLabel(label1_, 0, 55, 466, 466, "label1", "训练", DEFAULT_VECTOR_FONT_FILENAME, 200); - TraingModel::GetInstance()->InitLabel(label2_, 0, 55, 466, 466, "label2", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 200); - TraingModel::GetInstance()->InitLabel(label3_, 0, 55, 466, 466, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 200); + InitControlPage(); + InitMusicPage(); + + swipe_->Add(ControlView); + swipe_->Add(MusicView); - swipe_->Add(label1_); - swipe_->Add(label2_); - swipe_->Add(label3_); + swipe_->SetCurrentPage(Control_Card::MUSIC); + + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over"); } /* DeInit:删除组件 */ void TraingCardView::DeInit() { - UIView *view = static_cast(swipe_)->GetChildrenHead(); - while (view != nullptr) + if (swipe_ != nullptr) + { + swipe_->RemoveAll(); + delete swipe_; + swipe_ = nullptr; + } + if (ControlView != nullptr) + { + ControlView->RemoveAll(); + delete ControlView; + ControlView = nullptr; + } + if (MusicView != nullptr) + { + MusicView->RemoveAll(); + delete MusicView; + MusicView = nullptr; + } + } + UICardPage *TraingCardView::InitControlPage(void) + { + ControlView = new TrainingControlView(); + ControlView->PreLoad(); + if (ControlView == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlView new fail"); + return nullptr; + } + return ControlView; + } + UICardPage *TraingCardView::InitDataPage(void) {} + UICardPage *TraingCardView::InitMusicPage(void) + { + MusicView = new PlayersView(); + MusicView->PreLoad(); + if (MusicView == nullptr) { - UIView *tempView = view; - view = view->GetNextSibling(); - if (tempView->GetParent()) - { - static_cast(tempView->GetParent())->Remove(tempView); - } - delete tempView; + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicView new fail"); + return nullptr; } - delete swipe_; - swipe_ = nullptr; + return MusicView; } void TraingCardView::PreLoad(void) @@ -86,15 +117,13 @@ namespace OHOS } void TraingCardView::OnStart() { - swipe_ = new UISwipeView(UISwipeView::HORIZONTAL); + swipe_ = new UISwipeView(); if (swipe_ == nullptr) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "swipe_ new fail"); return; } - swipe_->SetPosition(0, 0); - swipe_->SetWidth(Screen::GetInstance().GetWidth()); - swipe_->SetHeight(Screen::GetInstance().GetHeight()); - + swipe_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight()); // 创建 draglistener 实例并设置为拖动监听器 UIView::OnDragListener *draglistener = static_cast(TraingCardPresenter::GetInstance()); if (draglistener == nullptr) @@ -102,22 +131,18 @@ namespace OHOS return; } swipe_->SetOnDragListener(draglistener); - swipe_->SetTouchable(true); swipe_->SetDraggable(true); swipe_->SetStyle(STYLE_BACKGROUND_COLOR, BACK_GROUND_COLOR); - swipe_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE); - swipe_->SetBlankSize(0); - swipe_->SetReboundSize(200); // 200: rebound size - swipe_->SetElastic(true); - + swipe_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full); + // swipe_->EnableScreenCap(true); PreLoad(); - RootView::GetInstance()->Add(swipe_); + SetContainerView(swipe_); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "swipe_ new ok"); } void TraingCardView::OnSetUpView() { - View::OnSetUpView(); Draw(); } diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp index e69de29bb..fbe032da7 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/TrainingControlView.cpp @@ -0,0 +1,155 @@ + +#include "traing/training_card/include/TrainingControlView.h" +#include "traing/training_card/include/TraingCardView.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 +#include "components/ui_button.h" +#include "traing/include/TraingModel.h" +#include "traing/Training_UiConfig.h" + +namespace OHOS +{ + + static TrainingControlView *g_pTrainingControlView{nullptr}; + + TrainingControlView::TrainingControlView() + { + SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION); + g_pTrainingControlView = this; + } + + TrainingControlView::~TrainingControlView() + { + RemoveAll(); + DeInit(); + g_pTrainingControlView = nullptr; + } + + TrainingControlView *TrainingControlView::GetInstance() + { + return g_pTrainingControlView; + } + + /* InitView:初始化界面*/ + void TrainingControlView ::InitView() + { + // 初始化Button + TraingModel::GetInstance()->InitButton(buttonEnd, 100, 202, 100, 100, BUTTONEND); + // Set additional property + buttonEnd->SetImageSrc(SPORT_STOP_IMAGE, SPORT_STOP_IMAGE); + // 设置按钮的点击事件监听器为 TraingGPSPresenter 的实例 + buttonEnd->SetOnClickListener(static_cast(TraingCardPresenter::GetInstance())); + Add(buttonEnd); + TraingModel::GetInstance()->InitButton(buttonStop, 255, 202, 100, 100, BUTTONSTOP); + // Set additional property + buttonStop->SetImageSrc(SPORT_PAUSE_IMAGE, SPORT_PAUSE_IMAGE); + buttonStop->SetOnClickListener(static_cast(TraingCardPresenter::GetInstance())); + Add(buttonStop); + + // 初始化Lable + TraingModel::GetInstance()->InitLabel(labeltitle, 188, 52, 90, 35, "label1", "训练中", DEFAULT_VECTOR_FONT_FILENAME, 30); + TraingModel::GetInstance()->InitLabel(labeltimer, 98, 110, 60, 35, "label2", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 65); + TraingModel::GetInstance()->InitLabel(labelend, 125, 324, 60, 40, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 20); + TraingModel::GetInstance()->InitLabel(labelstop, 280, 324, 60, 40, "label4", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 20); + Add(labeltitle); + Add(labeltimer); + Add(labelend); + Add(labelstop); + + // 初始化Image + TraingModel::GetInstance()->InitImageView(imagepoint, 193, 421, 80, 20, "image1", CONTROL_POINT_IMAGE); + Add(imagepoint); + } + + /******************************************************************************************************/ + void TrainingControlView::SetLabel() + { +#if 0 + if (TraingCardPresenter::GetInstance()->test == "ç»§ç»­") + { + labelstop->SetText("ç»§ç»­"); + } + else + { + labelstop->SetText("暂停"); + } +#endif + } + + void TrainingControlView::SetButton() + { +#if 0 + if (TraingCardPresenter::GetInstance()->test == "ç»§ç»­") + { + // buttonStop->SetViewId(BUTTONCONTINUE); + buttonStop->SetImageSrc(SPORT_CONTINUE_IMAGE, nullptr); + } + if (TraingCardPresenter::GetInstance()->test == "暂停") + { + // buttonStop->SetViewId(BUTTONPAUSE); + buttonStop->SetImageSrc(SPORT_PAUSE_IMAGE, nullptr); + } +#endif + } + /******************************************************************************************************/ + + /* DeInit:删除组件 */ + void TrainingControlView::DeInit() + { + RemoveAll(); + if (labeltitle != nullptr) + { + labeltitle = nullptr; + } + if (labeltimer != nullptr) + { + delete labeltimer; + labeltimer = nullptr; + } + if (labelend != nullptr) + { + delete labelend; + labelend = nullptr; + } + if (labelstop != nullptr) + { + delete labelstop; + labelstop = nullptr; + } + + // 删除Button + if (buttonEnd != nullptr) + { + delete buttonEnd; + buttonEnd = nullptr; + } + if (buttonStop != nullptr) + { + delete buttonStop; + buttonStop = nullptr; + } + + // 删除Image + if (imagepoint != nullptr) + { + delete imagepoint; + imagepoint = nullptr; + } + } + + void TrainingControlView::PreLoad(void) + { + if (!viewiInitStatus) + { + InitView(); + viewiInitStatus = true; + } + } + + void TrainingControlView::UnLoad(void) {} +}