${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
VIEW_TRAININGSETCALULI, // 设置训练卡路里
VIEW_TRAININGSETDIST, // 设置训练路程
VIEW_TRAININGSETSTEP, // 设置训练步数
- VIEW_TRAININGCRAD, // 训练卡片
+ VIEW_TRAININGCRAD, // 训练控制卡片
VIEW_TRAININGCONTROL, // 训练控制(包括结束,暂停,继续训练)
VIEW_TRAININGDATA, // 训练数据
VIEW_TRAININGDETAIL, // 详细训练数据
}\r
if (strcmp(view.GetViewId(), BUTTONGO) == 0)\r
{\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCONTROL);\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGCRAD);\r
}\r
- \r
+\r
return true;\r
}\r
}\r
#include "traing/include/TraingModel.h"\r
#include "traing/Training_UiConfig.h"\r
#include "components/ui_swipe_view.h"\r
+#include "components/ui_cross_view.h"\r
\r
#include "traing/include/TraingModel.h"\r
#include "traing/Training_UiConfig.h"\r
-#include "TraingCardPresenter.h"\r
+#include "traing/training_card/include/TraingCardPresenter.h"\r
+\r
+#include "PlayersView.h"\r
+#include "traing/training_card/include/TrainingControlView.h"\r
+#include "traing/include/TraingDataView.h"\r
+\r
namespace OHOS\r
{\r
+ enum Control_Card\r
+ {\r
+ CONTROL = 0,\r
+ // DATA,\r
+ MUSIC\r
+ };\r
+\r
class TraingCardPresenter;\r
+ class TrainingControlView;\r
class TraingCardView : public View<TraingCardPresenter>\r
{\r
\r
TraingCardView();\r
virtual ~TraingCardView();\r
static TraingCardView *GetInstance(void);\r
- \r
+\r
void OnStart() override;\r
void OnSetUpView() override;\r
void OnTearDownView() override;\r
void OnStop() override;\r
+\r
+ UICardPage *InitControlPage(void);\r
+ UICardPage *InitDataPage(void);\r
+ UICardPage *InitMusicPage(void);\r
+\r
void InitView();\r
void DeInit();\r
void InitList();\r
\r
UISwipeView *swipe_ = nullptr;\r
\r
- UILabelExt *label1_ = nullptr;\r
- UILabelExt *label2_ = nullptr;\r
- UILabelExt *label3_ = nullptr;\r
+ TrainingControlView *ControlView{nullptr};\r
+ TraingDataView *DataVIew{nullptr};\r
+ PlayersView *MusicView{nullptr};\r
\r
bool viewiInitStatus{false};\r
};\r
-// /*
-// * 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 <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_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
\r
#include "AppViewIDs.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 "NativeAbility.h"\r
\r
#include <iostream>\r
\r
TraingCardPresenter::TraingCardPresenter()\r
{\r
-\r
g_pTraingCardPresenter = this;\r
}\r
\r
\r
TraingCardPresenter *TraingCardPresenter::GetInstance()\r
{\r
-\r
- return g_pTraingCardPresenter;\r
+ static TraingCardPresenter instance;\r
+ return &instance;\r
}\r
\r
void TraingCardPresenter::OnStart()\r
#include "traing/training_card/include/TraingCardView.h"\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
\r
return g_pTraingCardView;\r
}\r
- \r
+\r
/* InitView:初始化界面*/\r
void TraingCardView ::InitView()\r
{\r
+ UISwipeView::OnSwipeListener *listener = nullptr;\r
+\r
if (swipe_ == nullptr)\r
{\r
- swipe_ = new UISwipeView(UISwipeView::HORIZONTAL);\r
+ swipe_ = new UISwipeView();\r
swipe_->SetPosition(0, 0, 466, 466);\r
swipe_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
}\r
\r
- // 初始化Lable\r
- TraingModel::GetInstance()->InitLabel(label1_, 0, 55, 466, 466, "label1", "训练", DEFAULT_VECTOR_FONT_FILENAME, 200);\r
- TraingModel::GetInstance()->InitLabel(label2_, 0, 55, 466, 466, "label2", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 200);\r
- TraingModel::GetInstance()->InitLabel(label3_, 0, 55, 466, 466, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 200);\r
+ InitControlPage();\r
+ InitMusicPage();\r
+\r
+ swipe_->Add(ControlView);\r
+ swipe_->Add(MusicView);\r
\r
- swipe_->Add(label1_);\r
- swipe_->Add(label2_);\r
- swipe_->Add(label3_);\r
+ swipe_->SetCurrentPage(Control_Card::MUSIC);\r
+\r
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitPage over");\r
}\r
\r
/* DeInit:删除组件 */\r
void TraingCardView::DeInit()\r
{\r
- UIView *view = static_cast<UISwipeView *>(swipe_)->GetChildrenHead();\r
- while (view != nullptr)\r
+ if (swipe_ != nullptr)\r
+ {\r
+ swipe_->RemoveAll();\r
+ delete swipe_;\r
+ swipe_ = nullptr;\r
+ }\r
+ if (ControlView != nullptr)\r
+ {\r
+ ControlView->RemoveAll();\r
+ delete ControlView;\r
+ ControlView = nullptr;\r
+ }\r
+ if (MusicView != nullptr)\r
+ {\r
+ MusicView->RemoveAll();\r
+ delete MusicView;\r
+ MusicView = nullptr;\r
+ }\r
+ }\r
+ UICardPage *TraingCardView::InitControlPage(void)\r
+ {\r
+ ControlView = new TrainingControlView();\r
+ ControlView->PreLoad();\r
+ if (ControlView == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ControlView new fail");\r
+ return nullptr;\r
+ }\r
+ return ControlView;\r
+ }\r
+ UICardPage *TraingCardView::InitDataPage(void) {}\r
+ UICardPage *TraingCardView::InitMusicPage(void)\r
+ {\r
+ MusicView = new PlayersView();\r
+ MusicView->PreLoad();\r
+ if (MusicView == nullptr)\r
{\r
- UIView *tempView = view;\r
- view = view->GetNextSibling();\r
- if (tempView->GetParent())\r
- {\r
- static_cast<UISwipeView *>(tempView->GetParent())->Remove(tempView);\r
- }\r
- delete tempView;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "MusicView new fail");\r
+ return nullptr;\r
}\r
- delete swipe_;\r
- swipe_ = nullptr;\r
+ return MusicView;\r
}\r
\r
void TraingCardView::PreLoad(void)\r
}\r
void TraingCardView::OnStart()\r
{\r
- swipe_ = new UISwipeView(UISwipeView::HORIZONTAL);\r
+ swipe_ = new UISwipeView();\r
if (swipe_ == nullptr)\r
{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "swipe_ new fail");\r
return;\r
}\r
- swipe_->SetPosition(0, 0);\r
- swipe_->SetWidth(Screen::GetInstance().GetWidth());\r
- swipe_->SetHeight(Screen::GetInstance().GetHeight());\r
-\r
+ swipe_->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
// 创建 draglistener 实例并设置为拖动监听器\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(TraingCardPresenter::GetInstance());\r
if (draglistener == nullptr)\r
return;\r
}\r
swipe_->SetOnDragListener(draglistener);\r
-\r
swipe_->SetTouchable(true);\r
swipe_->SetDraggable(true);\r
swipe_->SetStyle(STYLE_BACKGROUND_COLOR, BACK_GROUND_COLOR);\r
- swipe_->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);\r
- swipe_->SetBlankSize(0);\r
- swipe_->SetReboundSize(200); // 200: rebound size\r
- swipe_->SetElastic(true);\r
-\r
+ swipe_->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);\r
+ // swipe_->EnableScreenCap(true);\r
PreLoad();\r
- RootView::GetInstance()->Add(swipe_);\r
+ SetContainerView(swipe_);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "swipe_ new ok");\r
}\r
\r
void TraingCardView::OnSetUpView()\r
{\r
-\r
View<TraingCardPresenter>::OnSetUpView();\r
Draw();\r
}\r
+
+#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 <ui_scroll_view.h>
+#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<UIView::OnClickListener *>(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<UIView::OnClickListener *>(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) {}
+}