${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetSeptPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetTimeView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetTimePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetCaluliView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingSetCaluliPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingEnddataView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingEnddataPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingWinView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TraingWinPresenter.cpp
-
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/src/TrainingSetCaluliView.cpp
+
#主界面训练卡片
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/Training_CardView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_card/src/Training_CardPresenter.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordView.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traingrecord/src/TraingRecordPresenter.cpp
- #GPS训练
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlackView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlackPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSnoteView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSnotePresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlostPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSlostView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSbackPresenter.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSbackView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSsetView.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/traing/training_GPS/src/TraingGPSsetPresenter.cpp
#训练列表
#极限训练
VIEW_TRAININGNOMAL, // 正常训练开始界面(除骑行,健走,跑步外)
VIEW_TRAININGSET, // 训练目标(时长,卡路里)
VIEW_TRAININGSETTIME, // 设置训练时长
- VIEW_TRAININGSETCALULI, // 设置训练卡路里
VIEW_TRAININGSETDIST, // 设置训练路程
VIEW_TRAININGSETSTEP, // 设置训练步数
VIEW_TRAININGCRAD, // 训练控制卡片
VIEW_TRAININGBALL, // 球类运动列表
VIEW_TRAININGAQUATIC, // 水上运动列表
VIEW_TRAININGOTHER, // 其他列表
- /* ---------------------------------- GPS训练 --------------------------------- */
- VIEW_TRAININGGPS, // GPS训练
- VIEW_TRAININGGPSSET, // GPS训练目标(时长,距离,卡路里,步数)
- VIEW_TRAININGGPSLACK, // 缺少GPS
- VIEW_TRAININGGPSNOTE, // 连接GPS提醒
- VIEW_TRAININGGPSLOST, // GPS断联
- VIEW_TRAININGGPSBACK, // GPS回连
/* -------------------------------------------------------------------------- */
VIEW_MAIN_TEMP, // 体温界面(暂时不用)
VIEW_OFFLINEVOICE, // 语音助手界面(暂时不用)
void InitTraingNomalSlice(void);
void InitTraingSetSlice(void);
void InitTraingSetTimeSlice(void);
- void InitTraingSetCaluliSlice(void);
void InitTraingSetDistSlice(void);
void InitTraingSetStepSlice(void);
void InitTraingCardSlice(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 InitTraingMoreSlice(void); // 更多训练
void InitTraingLimitSlice(void); // 极限训练
void InitTraingIceSlice(void); // 冰上训练
#include "traing/include/TraingSetView.h"
#include "traing/include/TraingSetTimePresenter.h"
#include "traing/include/TraingSetTimeView.h"
-#include "traing/include/TraingSetCaluliPresenter.h"
-#include "traing/include/TraingSetCaluliView.h"
#include "traing/include/TraingSetDistPresenter.h"
#include "traing/include/TraingSetDistView.h"
#include "traing/include/TraingSetSeptPresenter.h"
#include "traing/include/TraingEnddataView.h"
#include "traing/include/TraingWinPresenter.h"
#include "traing/include/TraingWinView.h"
-/* ---------------------------------- GPS训练 --------------------------------- */
-#include "traing/training_GPS/include/TraingGPSPresenter.h"
-#include "traing/training_GPS/include/TraingGPSView.h"
-#include "traing/training_GPS/include/TraingGPSlackPresenter.h"
-#include "traing/training_GPS/include/TraingGPSlackView.h"
-#include "traing/training_GPS/include/TraingGPSnotePresenter.h"
-#include "traing/training_GPS/include/TraingGPSnoteView.h"
-#include "traing/training_GPS/include/TraingGPSlostPresenter.h"
-#include "traing/training_GPS/include/TraingGPSlostView.h"
-#include "traing/training_GPS/include/TraingGPSbackPresenter.h"
-#include "traing/training_GPS/include/TraingGPSbackView.h"
-#include "traing/training_GPS/include/TraingGPSsetPresenter.h"
-#include "traing/training_GPS/include/TraingGPSsetView.h"
/* ---------------------------------- 训练记录 ---------------------------------- */
#include "traingrecord/include/TraingRecordView.h"
#include "traingrecord/include/TraingRecordPresenter.h"
{VIEW_TRAINING, &NativeLauncher::InitTraingSlice}, // 训练
{VIEW_TRAININGNOMAL, &NativeLauncher::InitTraingNomalSlice}, // 正常训练初始界面
{VIEW_TRAININGSET, &NativeLauncher::InitTraingSetSlice}, // 训练目标设置界面
- {VIEW_TRAININGGPSSET, &NativeLauncher::InitTraingGPSSetSlice}, // 训练GPS目标设置界面
{VIEW_TRAININGSETTIME, &NativeLauncher::InitTraingSetTimeSlice}, // 设置目标时长
- {VIEW_TRAININGSETCALULI, &NativeLauncher::InitTraingSetCaluliSlice}, // 设置目标卡路里
{VIEW_TRAININGSETDIST, &NativeLauncher::InitTraingSetDistSlice}, // 设置目标距离
{VIEW_TRAININGSETSTEP, &NativeLauncher::InitTraingSetStepSlice}, // 设置目标步数
{VIEW_TRAININGCRAD, &NativeLauncher::InitTraingCardSlice}, // 训练卡片
{VIEW_TRAININGWIN, &NativeLauncher::InitTraingWinSlice}, // 训练目标达成
{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_TRAININGGPSLOST, &NativeLauncher::InitTraingGPSlostSlice}, // GPS断联
- {VIEW_TRAININGGPSBACK, &NativeLauncher::InitTraingGPSbackSlice}, // GPS回连
-
{VIEW_TRAININGMORE, &NativeLauncher::InitTraingMoreSlice}, // 更多训练
{VIEW_TRAININGLIMIT, &NativeLauncher::InitTraingLimitSlice}, // 极限训练
{VIEW_TRAININGICE, &NativeLauncher::InitTraingIceSlice}, // 冰上训练
SliceProxy *traingsetview = new AbilitySliceProxy<TraingSetView, TraingSetPresenter>;
NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGSET, traingsetview);
}
- void NativeLauncher::InitTraingGPSSetSlice(void)
- {
- SliceProxy *traingGPSsetview = new AbilitySliceProxy<TraingGPSsetView, TraingGPSsetPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSSET, traingGPSsetview);
- }
void NativeLauncher::InitTraingSetTimeSlice(void)
{
SliceProxy *traingsettimeview = new AbilitySliceProxy<TraingSetTimeView, TraingSetTimePresenter>;
NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGSETTIME, traingsettimeview);
}
- void NativeLauncher::InitTraingSetCaluliSlice(void)
- {
- SliceProxy *traingsetcaluliview = new AbilitySliceProxy<TraingSetCaluliView, TraingSetCaluliPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGSETCALULI, traingsetcaluliview);
- }
void NativeLauncher::InitTraingSetDistSlice(void)
{
SliceProxy *traingsetdistview = new AbilitySliceProxy<TraingSetDistView, TraingSetDistPresenter>;
NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAINING_RECORD, traingrecordview);
}
- /* -------------------------------------------------------------------------- */
- void NativeLauncher::InitTraingGPSSlice(void)
- {
- SliceProxy *traingGPSview = new AbilitySliceProxy<TraingGPSView, TraingGPSPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPS, traingGPSview);
- }
- void NativeLauncher::InitTraingGPSlackSlice(void)
- {
- SliceProxy *traingGPSlackview = new AbilitySliceProxy<TraingGPSlackView, TraingGPSlackPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSLACK, traingGPSlackview);
- }
- void NativeLauncher::InitTraingGPSnoteSlice(void)
- {
- SliceProxy *traingGPSnoteview = new AbilitySliceProxy<TraingGPSnoteView, TraingGPSnotePresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSNOTE, traingGPSnoteview);
- }
- void NativeLauncher::InitTraingGPSlostSlice(void)
- {
- SliceProxy *traingGPSlostview = new AbilitySliceProxy<TraingGPSlostView, TraingGPSlostPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSLOST, traingGPSlostview);
- }
- void NativeLauncher::InitTraingGPSbackSlice(void)
- {
- SliceProxy *traingGPSbackview = new AbilitySliceProxy<TraingGPSbackView, TraingGPSbackPresenter>;
- NativeAbility::GetInstance().AddSliceProxy(VIEW_TRAININGGPSBACK, traingGPSbackview);
- }
/* ---------------------------------- 训练列表 ---------------------------------- */
void NativeLauncher::InitTraingMoreSlice(void)
{
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-18 10:23:54
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BloodOxygenView.h
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: bloodOxygen view
void OnTearDownView() override;
void OnStart() override;
static BloodOxygenView *GetInstance(void);
+
bool ChangeBloodView(int16_t thisview); // 主视图
bool ChangeBandoffView(int16_t thisview);
bool ChangeCheckView(int16_t thisview);
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-18 12:11:45
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BloodResultView.h
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: bloodResult view
#include "BaseView.h"
#include "View.h"
#include "string.h"
-#include <ui_scroll_view.h>
+#include "components/ui_scroll_view.h"
#include "components/ui_view_group.h"
#include "components/ui_label.h"
#include "components/ui_label_ext.h"
#include "components/ui_card_page.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 "traing/include/TraingModel.h"
-#include "traing/Training_UiConfig.h"
-
#include "cywee_service.h"
#include "cywee_hal.h"
-#include "power_display_service.h"
-#include "displaybrightness/include/DisplayBrightnessModel.h"
#include <string>
#include <memory>
ExerciseState sportState_ = ExerciseState::General; // 训练状态
ExerciseTag sportTag_ = ExerciseTag::Distance; // 训练目标类型
- int tag_ = 0; // 训练目标
+ int tag_ = 0; // 训练目标
int totalHeartRate = 0;
int countHeartRate = 0;
/*std::unique_ptr<SportData> sportdata;*/ // 使用 std::unique_ptr 管理 SportData 对象
+++ /dev/null
-#ifndef _TraingSetCaluli_PRESENTER_H\r
-#define _TraingSetCaluli_PRESENTER_H\r
-\r
-#include "Presenter.h"\r
-#include "TraingSetCaluliView.h"\r
-\r
-namespace OHOS\r
-{\r
- class TraingSetCaluliView;\r
-\r
- class TraingSetCaluliPresenter : public Presenter<TraingSetCaluliView>,\r
- public UIView::OnClickListener,\r
- public UIView::OnDragListener\r
- {\r
- public:\r
- TraingSetCaluliPresenter();\r
- virtual ~TraingSetCaluliPresenter();\r
-\r
- void OnStart() override;\r
- void OnPause() override;\r
- void OnResume() override;\r
- void OnStop() override;\r
-\r
- static TraingSetCaluliPresenter *GetInstance();\r
-\r
- private:\r
- // 因为继承了OnClickListener,所以有OnClick属性,至于参数,原函数也这样直接继承;\r
- bool OnClick(UIView &view, const ClickEvent &event) override;\r
- bool OnDrag(UIView &view, const DragEvent &event) override;\r
- //bool OnDragEnd(UIView& view, const DragEvent& event) override;\r
- };\r
-} // namespace OHOS\r
-\r
-#endif // SLEEPDETAIL_PRESENTER_H
\ No newline at end of file
+++ /dev/null
-#ifndef _TraingSetCaluli_VIEW_H\r
-#define _TraingSetCaluli_VIEW_H\r
-\r
-#include "BaseView.h"\r
-#include "View.h"\r
-#include <ui_scroll_view.h>\r
-#include "components/ui_view_group.h"\r
-#include "components/ui_label.h"\r
-#include "components/ui_label_ext.h"\r
-#include "components/ui_image_view.h"\r
-#include "components/ui_button.h"\r
-#include "components/ui_image_animator.h"\r
-#include "components/ui_label_button_ext.h"\r
-#include "components/ui_chart.h"\r
-#include "components/ui_list.h"\r
-#include "components/icon_adapter.h"\r
-#include "wearable_log.h"\r
-#include "ohos_types.h"\r
-#include "components/ui_card_page.h"\r
-#include "traing/include/TraingModel.h"\r
-#include "traing/Training_UiConfig.h"\r
-#include "components/ui_picker.h"\r
-\r
-#include "TraingSetCaluliPresenter.h"\r
-namespace OHOS\r
-{\r
-#define BUTTONOK "button1"\r
-\r
-\r
- class TraingSetCaluliPresenter;\r
- class TraingSetCaluliView : public View<TraingSetCaluliPresenter>\r
- {\r
-\r
- public:\r
- TraingSetCaluliView();\r
- virtual ~TraingSetCaluliView();\r
- static TraingSetCaluliView *GetInstance(void);\r
-\r
- void OnStart() override;\r
- void OnSetUpView() override;\r
- void OnTearDownView() override;\r
- void OnStop() override;\r
- void InitView();\r
- void DeInit();\r
- \r
- void InitUIPicker(UIPicker *&picker, int x, int y, int width, int height, const char *viewId);\r
- void InitList();\r
- void PreLoad(void);\r
-\r
- private:\r
- UIView::OnDragListener *draglistener{nullptr};\r
- TraingSetCaluliView(TraingSetCaluliView &&) = delete;\r
- TraingSetCaluliView &operator=(TraingSetCaluliView &&) = delete;\r
-\r
- UIViewGroup *container_ = nullptr;\r
- UILabelExt *label1_ = nullptr;\r
- UIButton *button1_ = nullptr;\r
- UIPicker *uiPicker1_ = nullptr;\r
-\r
- bool viewiInitStatus{false};\r
- };\r
-} // namespace OHOS\r
-#endif // TraingSetCaluli_PRESENTER_H\r
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-18 10:18:50
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TraingSetPresenter.h
+ */
#ifndef _TraingSet_PRESENTER_H
#define _TraingSet_PRESENTER_H
namespace OHOS
{
- class TraingSetView;
+ typedef enum
+ {
+ SET_VIEW = 0, // 主界面
+ SET_CALORIES,
+ SET_DURATION,
+ SET_STEPS,
+ SET_DISTANCE,
+ MAX_SETVIEW,
+ } SETGOLDVIEWID;
+ class TraingSetView;
class TraingSetPresenter : public Presenter<TraingSetView>,
public UIView::OnClickListener,
public UIView::OnDragListener
#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_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/include/TrainingSetCaluliView.h"
#include "TraingSetPresenter.h"
namespace OHOS
{
#define BUTTONCALULI "button2"
class TraingSetPresenter;
+ class TrainingSetCaluliView;
class TraingSetView : public View<TraingSetPresenter>
{
void OnStop() override;
void InitView();
void DeInit();
-
- void InitList();
void PreLoad(void);
+ bool ChangeSetView(int16_t thisview);
+ bool ChangeSetCaloriesView(int16_t thisview);
+ bool ChangeSetStepsView(int16_t thisview);
+ bool ChangeSetDistanceView(int16_t thisview);
+ bool ChangeSetDurationView(int16_t thisview);
+ bool ClickFunc(int16_t interface);
+ void ChangeView(int16_t hideView, int16_t showView);
+
private:
UIView::OnDragListener *draglistener{nullptr};
TraingSetView(TraingSetView &&) = delete;
TraingSetView &operator=(TraingSetView &&) = delete;
UIViewGroup *container_ = nullptr;
+ UIScrollView *SetTagScrollView[4]{nullptr};
+ TrainingSetCaluliView *setcalories{nullptr};
UILabelExt *labeltitle = nullptr;
UILabelExt *labeltime = nullptr;
UILabelExt *labelKcal = nullptr;
-
UIImageView *imagetime = nullptr;
UIImageView *imagcal = nullptr;
UIImageView *imagicon1 = nullptr;
UIImageView *imagico2 = nullptr;
-
UIButton *butTime = nullptr;
UIButton *butKcal = nullptr;
--- /dev/null
+/***
+ * @Date: 2024-04-18 10:57:45
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-18 11:00:03
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/traing/include/TrainingSetCaluliView.h
+ */
+#ifndef _Training_SetCaluli_VIEW_H
+#define _Training_SetCaluli_VIEW_H
+
+#include "BaseView.h"
+#include "View.h"
+#include "components/ui_label_ext.h"
+#include "components/ui_button.h"
+#include "components/ui_label_button_ext.h"
+#include "wearable_log.h"
+#include "traing/include/TraingModel.h"
+#include "traing/Training_UiConfig.h"
+#include "components/ui_picker.h"
+#include "components/ui_scroll_view.h"
+
+#include "traing/include/TraingSetPresenter.h"
+#include "traing/include/TrainingSetCaluliView.h"
+
+namespace OHOS
+{
+#define BUTTONOK "button1"
+
+ class TraingSetPresenter;
+ class TrainingSetCaluliView : public View<TraingSetPresenter>
+ {
+
+ public:
+ TrainingSetCaluliView();
+ virtual ~TrainingSetCaluliView();
+ static TrainingSetCaluliView *GetInstance(void);
+ UIScrollView *SetCaloriesViewInit();
+
+ void InitUIPicker(UIPicker *&picker, int x, int y, int width, int height, const char *viewId);
+
+ private:
+ UIView::OnDragListener *draglistener{nullptr};
+
+ UILabelExt *labeltitle_ = nullptr;
+ UILabelButtonExt*buttonok_ = nullptr;
+ UIPicker *calPicker_ = nullptr;
+
+ UIScrollView *SetCaloriesScrollView;
+ };
+} // namespace OHOS
+#endif
+++ /dev/null
-#include "AppViewIDs.h"\r
-#include "components/ui_label_ext.h"\r
-#include"language/font/ui_resource_string.h"\r
-#include "NativeAbility.h"\r
-\r
-#include <iostream>\r
-#include <chrono>\r
-#include <thread>\r
-#include "traing/include/TraingSetCaluliPresenter.h"\r
-// #include "TraingSetCaluliView.h"\r
-\r
-namespace OHOS\r
-{\r
-\r
- // 当前Presenter属性实例化的内存指针\r
- static TraingSetCaluliPresenter *g_pTraingSetCaluliPresenter = nullptr;\r
-\r
- TraingSetCaluliPresenter::TraingSetCaluliPresenter()\r
- {\r
-\r
- g_pTraingSetCaluliPresenter = this;\r
- }\r
-\r
- TraingSetCaluliPresenter::~TraingSetCaluliPresenter()\r
- {\r
-\r
- g_pTraingSetCaluliPresenter = nullptr;\r
- }\r
-\r
- TraingSetCaluliPresenter *TraingSetCaluliPresenter::GetInstance()\r
- {\r
-\r
- return g_pTraingSetCaluliPresenter;\r
- }\r
-\r
- void TraingSetCaluliPresenter::OnStart()\r
- {\r
-\r
- Presenter<TraingSetCaluliView>::OnStart();\r
- }\r
-\r
- void TraingSetCaluliPresenter::OnPause(void)\r
- {\r
-\r
- Presenter<TraingSetCaluliView>::OnPause();\r
- }\r
-\r
- void TraingSetCaluliPresenter::OnResume(void)\r
- {\r
-\r
- Presenter<TraingSetCaluliView>::OnResume();\r
- }\r
-\r
- void TraingSetCaluliPresenter::OnStop(void)\r
- {\r
-\r
- Presenter<TraingSetCaluliView>::OnStop();\r
- }\r
-\r
- bool TraingSetCaluliPresenter::OnDrag(UIView &view, const DragEvent &event)\r
- {\r
-\r
- // if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT &&\r
- // (event.GetDeltaX() > 20) && (event.GetDeltaX() > (2 * MATH_ABS(event.GetDeltaY()))))\r
- // {\r
- // NativeAbility::GetInstance().ChangeSlice(VIEW_TRAININGSET);\r
- // }\r
- UNUSED(view);\r
- return true;\r
- }\r
-\r
- bool TraingSetCaluliPresenter::OnClick(UIView &view, const ClickEvent &event)\r
- {\r
- // 根据控件id查找是哪个控件触发了点击回调\r
- if (strcmp(view.GetViewId(), BUTTONOK) == 0)\r
- {\r
- NativeAbility::GetInstance().Back(); // 返回函数\r
- }\r
- return true;\r
- }\r
-}\r
+++ /dev/null
-\r
-#include "traing/include/TraingSetCaluliView.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 "UiConfig.h"\r
-#include "ui_resource_image.h"\r
-#include <ui_scroll_view.h>\r
-#include "components/ui_button.h"\r
-#include "common/screen.h"\r
-#include <sstream>\r
-#include <string>\r
-#include <vector>\r
-#include "traing/include/TraingModel.h"\r
-#include "traing/Training_UiConfig.h"\r
-namespace OHOS\r
-{\r
-\r
- /***************************************************************************************/\r
- // 动态生成包含指定卡路里区间内所有卡路里数的字符串数组\r
- std::vector<std::string> GenerateCaluliValues(int minTime, int maxTime, int interval)\r
- {\r
- std::vector<std::string> values;\r
- for (int i = minTime; i <= maxTime; i += interval)\r
- {\r
- values.push_back(std::to_string(i) + " 千卡");\r
- }\r
- return values;\r
- }\r
- /***************************************************************************************/\r
- static TraingSetCaluliView *g_pTraingSetCaluliView{nullptr};\r
-\r
- TraingSetCaluliView::TraingSetCaluliView()\r
- {\r
- g_pTraingSetCaluliView = this;\r
- }\r
-\r
- TraingSetCaluliView::~TraingSetCaluliView()\r
- {\r
- DeInit();\r
- g_pTraingSetCaluliView = nullptr;\r
- }\r
-\r
- TraingSetCaluliView *TraingSetCaluliView::GetInstance()\r
- {\r
-\r
- return g_pTraingSetCaluliView;\r
- }\r
-\r
- /*\r
- InitUIPicker: 初始化UIPicker组件\r
- @param picker: 指向UIPicker的指针\r
- @param x: UIPicker的左边位置\r
- @param y: UIPicker的顶部位置\r
- @param width: UIPicker的宽度\r
- @param height: UIPicker的高度\r
- @param viewId: UIPicker的视图 ID\r
- @param values: 选项数组\r
- @param count: 选项数量\r
- @param backgroundFontSize: 普通文本大小\r
- @highlightFontSize: 高光文本大小\r
- */\r
- void TraingSetCaluliView::InitUIPicker(UIPicker *&picker, int x, int y, int width, int height, const char *viewId)\r
- {\r
- // 文本大小\r
- constexpr uint8_t BACKGROUND_FONT = 40;\r
- constexpr uint8_t HIGHTLIGHT_FONT = 60;\r
- // 获取value数组\r
- int minCaluli = 100;\r
- int maxCaluli = 1000;\r
- int interval = 100;\r
- std::vector<std::string> caluliValues = GenerateCaluliValues(minCaluli, maxCaluli, interval);\r
-\r
- const char **values = new const char *[caluliValues.size()];\r
- for (size_t i = 0; i < caluliValues.size(); i++)\r
- {\r
- values[i] = caluliValues[i].c_str();\r
- }\r
- // 创建 UIPicker\r
- if (picker == nullptr)\r
- {\r
- picker = new UIPicker();\r
- }\r
-\r
- // 设置 UIPicker 的位置和大小\r
- picker->SetPosition(x, y);\r
- picker->Resize(width, height);\r
- // 设置 UIPicker 的 ViewId\r
- picker->SetViewId(viewId);\r
- // 设置 UIPicker 的属性\r
- picker->SetItemHeight(70);\r
- picker->SetLoopState(true);\r
- picker->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff), Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));\r
- picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT); // 设置普通文本大小\r
- picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT); // 设置高光文本大小\r
- picker->SetValues(values, caluliValues.size());\r
- // 将 UIPicker 设置为显示\r
- picker->SetVisible(true);\r
- }\r
-\r
- /* InitView:初始化界面*/\r
- void TraingSetCaluliView ::InitView()\r
- {\r
- if (container_ == nullptr)\r
- {\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
- }\r
- // 初始化Lable\r
- TraingModel::GetInstance()->InitLabel(label1_, 173, 52, 120, 35, "label1", "卡路里设定", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- container_->Add(label1_);\r
-\r
- // 初始化UIPicker\r
- InitUIPicker(uiPicker1_, 43, 106, 380, 240, "uiPicker1");\r
- container_->Add(uiPicker1_);\r
- // 初始化Button\r
- TraingModel::GetInstance()->InitButton(button1_, 0, 366, 466, 100, BUTTONOK);\r
- // Set additional property\r
- button1_->SetImageSrc(BUTTONOK_IMAGE, BUTTONOK_IMAGE);\r
- button1_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetCaluliPresenter::GetInstance()));\r
- container_->Add(button1_);\r
- }\r
- /* DeInit:删除组件 */\r
- void TraingSetCaluliView::DeInit()\r
- {\r
- container_->RemoveAll();\r
- // 删除Label\r
- if (label1_ != nullptr)\r
- {\r
- container_->Remove(label1_);\r
- delete label1_;\r
- label1_ = nullptr;\r
- }\r
- // 删除Button\r
- if (button1_ != nullptr)\r
- {\r
- container_->Remove(button1_);\r
- delete button1_;\r
- button1_ = nullptr;\r
- }\r
-\r
- // 删除Image\r
-\r
- // 删除滚动选择器\r
- if (uiPicker1_ != nullptr)\r
- {\r
- container_->Remove(uiPicker1_);\r
- delete uiPicker1_;\r
- uiPicker1_ = nullptr;\r
- }\r
-\r
- // 删除容器\r
- if (container_ != nullptr)\r
- {\r
- container_->RemoveAll(); // 移除容器中的所有组件\r
- delete container_;\r
- container_ = nullptr;\r
- }\r
- }\r
-\r
- void TraingSetCaluliView::PreLoad(void)\r
- {\r
- if (!viewiInitStatus)\r
- {\r
- // printf("init traingsetcaluliview\n");\r
- InitView();\r
- viewiInitStatus = true;\r
- }\r
- }\r
- void TraingSetCaluliView::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 *>(TraingSetCaluliPresenter::GetInstance());\r
- if (draglistener == nullptr)\r
- {\r
- return;\r
- }\r
- container_->SetOnDragListener(draglistener);\r
-\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
-\r
- PreLoad();\r
- RootView::GetInstance()->Add(container_);\r
- }\r
-\r
- void TraingSetCaluliView::OnSetUpView()\r
- {\r
-\r
- View<TraingSetCaluliPresenter>::OnSetUpView();\r
- Draw();\r
- }\r
-\r
- void TraingSetCaluliView::OnTearDownView()\r
- {\r
-\r
- View<TraingSetCaluliPresenter>::OnTearDownView();\r
- return;\r
- }\r
-\r
- void TraingSetCaluliView::OnStop()\r
- {\r
- View<TraingSetCaluliPresenter>::OnStop();\r
- RootView::GetInstance()->RemoveAll();\r
- return;\r
- }\r
-}\r
}\r
if (strcmp(view.GetViewId(), BUTTONCALULI) == 0)\r
{\r
- NativeAbility::GetInstance().EnterSlice(VIEW_TRAININGSETCALULI);\r
+ // NativeAbility::GetInstance().EnterSlice(VIEW_TRAININGSETCALULI);\r
+ TraingSetView::GetInstance()->ChangeView(SET_VIEW, SET_CALORIES);\r
}\r
return true;\r
}\r
/* InitView:初始化界面*/\r
void TraingSetView ::InitView()\r
{\r
- if (container_ == nullptr)\r
+ if (SetTagScrollView[SET_VIEW] == nullptr)\r
{\r
- container_ = new UIViewGroup();\r
- container_->SetPosition(0, 0, 466, 466);\r
- container_->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
+ SetTagScrollView[SET_VIEW] = new UIScrollView();\r
+ SetTagScrollView[SET_VIEW]->SetPosition(0, 0, 466, 466);\r
+ SetTagScrollView[SET_VIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0);\r
}\r
\r
// 初始化Button\r
TraingModel::GetInstance()->InitButton(butKcal, 43, 240, 380, 100, BUTTONCALULI);\r
butTime->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetPresenter::GetInstance()));\r
butKcal->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetPresenter::GetInstance()));\r
- container_->Add(butTime);\r
- container_->Add(butKcal);\r
+ SetTagScrollView[SET_VIEW]->Add(butTime);\r
+ SetTagScrollView[SET_VIEW]->Add(butKcal);\r
\r
// 初始化Lable\r
UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent();\r
TraingModel::GetInstance()->InitLabel(labeltime, 100, 150, 150, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
TraingModel::GetInstance()->InitLabel(labelKcal, 100, 270, 150, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
- container_->Add(labeltitle);\r
- container_->Add(labeltime);\r
- container_->Add(labelKcal);\r
-\r
+ SetTagScrollView[SET_VIEW]->Add(labeltitle);\r
+ SetTagScrollView[SET_VIEW]->Add(labeltime);\r
+ SetTagScrollView[SET_VIEW]->Add(labelKcal);\r
\r
// 初始化Image\r
TraingModel::GetInstance()->InitImageView(imagetime, 70, 150, 100, 100, "image1", TIME_IMAGE);\r
TraingModel::GetInstance()->InitImageView(imagcal, 70, 270, 100, 100, "image2", CALORIES_IMAGE);\r
-\r
TraingModel::GetInstance()->InitImageView(imagicon1, 380, 160, 100, 100, "image3", ICON_IMAGE);\r
TraingModel::GetInstance()->InitImageView(imagico2, 380, 280, 100, 100, "image4", ICON_IMAGE);\r
- container_->Add(imagetime);\r
- container_->Add(imagcal);\r
- container_->Add(imagicon1);\r
- container_->Add(imagico2);\r
+ SetTagScrollView[SET_VIEW]->Add(imagetime);\r
+ SetTagScrollView[SET_VIEW]->Add(imagcal);\r
+ SetTagScrollView[SET_VIEW]->Add(imagicon1);\r
+ SetTagScrollView[SET_VIEW]->Add(imagico2);\r
}\r
/* DeInit:删除组件 */\r
void TraingSetView::DeInit()\r
{\r
- container_->RemoveAll();\r
+ SetTagScrollView[SET_VIEW]->RemoveAll();\r
// 删除Label\r
if (labeltitle != nullptr)\r
{\r
- container_->Remove(labeltitle);\r
+ SetTagScrollView[SET_VIEW]->Remove(labeltitle);\r
delete labeltitle;\r
labeltitle = nullptr;\r
}\r
if (labeltime != nullptr)\r
{\r
- container_->Remove(labeltime);\r
+ SetTagScrollView[SET_VIEW]->Remove(labeltime);\r
delete labeltime;\r
labeltime = nullptr;\r
}\r
if (labelKcal != nullptr)\r
{\r
- container_->Remove(labelKcal);\r
+ SetTagScrollView[SET_VIEW]->Remove(labelKcal);\r
delete labelKcal;\r
labelKcal = nullptr;\r
}\r
// 删除Button\r
if (butTime != nullptr)\r
{\r
- container_->Remove(butTime);\r
+ SetTagScrollView[SET_VIEW]->Remove(butTime);\r
delete butTime;\r
butTime = nullptr;\r
}\r
if (butKcal != nullptr)\r
{\r
- container_->Remove(butKcal);\r
+ SetTagScrollView[SET_VIEW]->Remove(butKcal);\r
delete butKcal;\r
butKcal = nullptr;\r
}\r
// 删除Image\r
if (imagetime != nullptr)\r
{\r
- container_->Remove(imagetime);\r
+ SetTagScrollView[SET_VIEW]->Remove(imagetime);\r
delete imagetime;\r
imagetime = nullptr;\r
}\r
if (imagcal != nullptr)\r
{\r
- container_->Remove(imagcal);\r
+ SetTagScrollView[SET_VIEW]->Remove(imagcal);\r
delete imagcal;\r
imagcal = nullptr;\r
}\r
if (imagicon1 != nullptr)\r
{\r
- container_->Remove(imagicon1);\r
+ SetTagScrollView[SET_VIEW]->Remove(imagicon1);\r
delete imagicon1;\r
imagicon1 = nullptr;\r
}\r
if (imagico2 != nullptr)\r
{\r
- container_->Remove(imagico2);\r
+ SetTagScrollView[SET_VIEW]->Remove(imagico2);\r
delete imagico2;\r
imagico2 = nullptr;\r
}\r
\r
// 删除容器\r
- if (container_ != nullptr)\r
+ if (SetTagScrollView[SET_VIEW] != nullptr)\r
+ {\r
+ SetTagScrollView[SET_VIEW]->RemoveAll(); // 移除容器中的所有组件\r
+ delete SetTagScrollView[SET_VIEW];\r
+ SetTagScrollView[SET_VIEW] = nullptr;\r
+ }\r
+ }\r
+\r
+ // 跳转到设置选项列表\r
+ bool TraingSetView::ChangeSetView(int16_t thisview)\r
+ {\r
+ if (SetTagScrollView[thisview] == nullptr)\r
{\r
- container_->RemoveAll(); // 移除容器中的所有组件\r
- delete container_;\r
- container_ = nullptr;\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TraingSetView::ChangeSetView");\r
+ RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
}\r
+ return true;\r
}\r
+ bool TraingSetView::ChangeSetCaloriesView(int16_t thisview)\r
+ {\r
+ if (SetTagScrollView[thisview] == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::ChangeBandoffView");\r
+ setcalories = new TrainingSetCaluliView();\r
+ if (setcalories == nullptr)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView:: new scrollView[%d] fail", thisview);\r
+ return false;\r
+ }\r
+ SetTagScrollView[thisview] = setcalories->SetCaloriesViewInit();\r
+ RootView::GetInstance()->Add(SetTagScrollView[thisview]);\r
+ }\r
+ return true;\r
+ }\r
+ bool TraingSetView::ChangeSetDurationView(int16_t thisview) {}\r
+ bool TraingSetView::ChangeSetStepsView(int16_t thisview) {}\r
+ bool TraingSetView::ChangeSetDistanceView(int16_t thisview) {}\r
+ /* -------------------------------------------------------------------------- */\r
+ // 1.MainStopWatchViewMapper:结构体定义了一个将视图ID映射到特定成员函数指针的映射表。\r
+ struct BloodViewMapper\r
+ {\r
+ const int16_t viewId;\r
+ bool (TraingSetView::*func)(int16_t thisView);\r
+ };\r
+\r
+ // 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
+ static const BloodViewMapper ViewMapper[] = {\r
+ {SET_VIEW, &TraingSetView::ChangeSetView},\r
+ {SET_CALORIES, &TraingSetView::ChangeSetCaloriesView},\r
+ {SET_DURATION, &TraingSetView::ChangeSetDurationView},\r
+ {SET_STEPS, &TraingSetView::ChangeSetStepsView},\r
+ {SET_DISTANCE, &TraingSetView::ChangeSetDistanceView},\r
+ };\r
\r
+ // 3.根据传入的interface参数执行相应视图ID关联的成员函数。\r
+ bool TraingSetView::ClickFunc(int16_t interface)\r
+ {\r
+ int funcSize = sizeof(ViewMapper) / sizeof(ViewMapper[SET_VIEW]);\r
+ for (int i = 0; i < funcSize; i++)\r
+ {\r
+ if (interface == ViewMapper[i].viewId)\r
+ {\r
+ bool jug = (this->*(ViewMapper[i].func))(interface);\r
+ if (jug == false)\r
+ {\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+ }\r
+ return false;\r
+ }\r
+\r
+ // 4.切换视图\r
+ void TraingSetView::ChangeView(int16_t hideView, int16_t showView)\r
+ {\r
+ if (hideView > MAX_SETVIEW)\r
+ {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodView:: BloodViewId Overstep ones bounds");\r
+ return;\r
+ }\r
+ SetTagScrollView[hideView]->SetVisible(false);\r
+ ClickFunc(showView);\r
+ SetTagScrollView[showView]->SetVisible(true);\r
+ Draw();\r
+ }\r
+ /* -------------------------------------------------------------------------- */\r
void TraingSetView::PreLoad(void)\r
{\r
if (!viewiInitStatus)\r
}\r
void TraingSetView::OnStart()\r
{\r
- container_ = new UIViewGroup();\r
- if (container_ == nullptr)\r
+ SetTagScrollView[SET_VIEW] = new UIScrollView();\r
+ if (SetTagScrollView[SET_VIEW] == nullptr)\r
{\r
return;\r
}\r
- container_->SetPosition(0, 0);\r
- container_->SetWidth(Screen::GetInstance().GetWidth());\r
- container_->SetHeight(Screen::GetInstance().GetHeight());\r
+ SetTagScrollView[SET_VIEW]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
+ SetTagScrollView[SET_VIEW]->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
+ SetTagScrollView[SET_VIEW]->SetScrollBlankSize(35);\r
+ SetTagScrollView[SET_VIEW]->SetReboundSize(50);\r
+ SetTagScrollView[SET_VIEW]->SetDirection(1);\r
\r
// 创建 draglistener 实例并设置为拖动监听器\r
UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(TraingSetPresenter::GetInstance());\r
{\r
return;\r
}\r
- container_->SetOnDragListener(draglistener);\r
-\r
- container_->SetTouchable(true);\r
- container_->SetDraggable(true);\r
+ SetTagScrollView[SET_VIEW]->SetOnDragListener(draglistener);\r
+ SetTagScrollView[SET_VIEW]->SetTouchable(true);\r
+ SetTagScrollView[SET_VIEW]->SetDraggable(true);\r
\r
PreLoad();\r
- RootView::GetInstance()->Add(container_);\r
+ RootView::GetInstance()->Add(SetTagScrollView[SET_VIEW]);\r
}\r
\r
void TraingSetView::OnSetUpView()\r
--- /dev/null
+
+#include "traing/include/TrainingSetCaluliView.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 "components/ui_button.h"
+#include "common/screen.h"
+#include <sstream>
+#include <string>
+#include <vector>
+#include "traing/include/TraingModel.h"
+#include "traing/Training_UiConfig.h"
+namespace OHOS
+{
+
+ /***************************************************************************************/
+ // 动态生成包含指定卡路里区间内所有卡路里数的字符串数组
+ std::vector<std::string> GenerateCaluliValues(int minTime, int maxTime, int interval)
+ {
+ std::vector<std::string> values;
+ for (int i = minTime; i <= maxTime; i += interval)
+ {
+ values.push_back(std::to_string(i));
+ }
+ return values;
+ }
+ /***************************************************************************************/
+ static TrainingSetCaluliView *g_pTraingSetCaluliView{nullptr};
+
+ TrainingSetCaluliView::TrainingSetCaluliView()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TrainingSetCaluliView::TrainingSetCaluliView");
+ labeltitle_ = nullptr;
+ buttonok_ = nullptr;
+ calPicker_ = nullptr;
+ SetCaloriesScrollView = nullptr;
+ g_pTraingSetCaluliView = this;
+ }
+
+ TrainingSetCaluliView::~TrainingSetCaluliView()
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TrainingSetCaluliView::~TrainingSetCaluliView");
+ SetCaloriesScrollView->RemoveAll();
+ // 删除Label
+ if (labeltitle_ != nullptr)
+ {
+ SetCaloriesScrollView->Remove(labeltitle_);
+ delete labeltitle_;
+ labeltitle_ = nullptr;
+ }
+ // 删除Button
+ if (buttonok_ != nullptr)
+ {
+ SetCaloriesScrollView->Remove(buttonok_);
+ delete buttonok_;
+ buttonok_ = nullptr;
+ }
+
+ // 删除滚动选择器
+ if (calPicker_ != nullptr)
+ {
+ SetCaloriesScrollView->Remove(calPicker_);
+ delete calPicker_;
+ calPicker_ = nullptr;
+ }
+
+ // 删除容器
+ if (SetCaloriesScrollView != nullptr)
+ {
+ SetCaloriesScrollView->RemoveAll(); // 移除容器中的所有组件
+ delete SetCaloriesScrollView;
+ SetCaloriesScrollView = nullptr;
+ }
+ g_pTraingSetCaluliView = nullptr;
+ }
+
+ TrainingSetCaluliView *TrainingSetCaluliView::GetInstance()
+ {
+
+ return g_pTraingSetCaluliView;
+ }
+
+ /*
+ InitUIPicker: 初始化UIPicker组件
+ @param picker: 指向UIPicker的指针
+ @param x: UIPicker的左边位置
+ @param y: UIPicker的顶部位置
+ @param width: UIPicker的宽度
+ @param height: UIPicker的高度
+ @param viewId: UIPicker的视图 ID
+ @param values: 选项数组
+ @param count: 选项数量
+ @param backgroundFontSize: 普通文本大小
+ @highlightFontSize: 高光文本大小
+ */
+ void TrainingSetCaluliView::InitUIPicker(UIPicker *&picker, int x, int y, int width, int height, const char *viewId)
+ {
+ // 文本大小
+ constexpr uint8_t BACKGROUND_FONT = 40;
+ constexpr uint8_t HIGHTLIGHT_FONT = 60;
+ // 获取value数组
+ int minCaluli = 100;
+ int maxCaluli = 1000;
+ int interval = 100;
+ std::vector<std::string> caluliValues = GenerateCaluliValues(minCaluli, maxCaluli, interval);
+
+ const char **values = new const char *[caluliValues.size()];
+ for (size_t i = 0; i < caluliValues.size(); i++)
+ {
+ values[i] = caluliValues[i].c_str();
+ }
+ // 创建 UIPicker
+ if (picker == nullptr)
+ {
+ picker = new UIPicker();
+ }
+
+ // 设置 UIPicker 的位置和大小
+ picker->SetPosition(x, y);
+ picker->Resize(width, height);
+ // 设置 UIPicker 的 ViewId
+ picker->SetViewId(viewId);
+ // 设置 UIPicker 的属性
+ picker->SetItemHeight(70);
+ picker->SetLoopState(true);
+ picker->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff), Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));
+ picker->SetBackgroundFont(DEFAULT_VECTOR_FONT_FILENAME, BACKGROUND_FONT); // 设置普通文本大小
+ picker->SetHighlightFont(DEFAULT_VECTOR_FONT_FILENAME, HIGHTLIGHT_FONT); // 设置高光文本大小
+ picker->SetValues(values, caluliValues.size());
+ // 将 UIPicker 设置为显示
+ picker->SetVisible(true);
+ }
+
+ /* InitView:初始化界面*/
+ UIScrollView *TrainingSetCaluliView ::SetCaloriesViewInit()
+ {
+ /* -------------------------------------------------------------------------- */
+ SetCaloriesScrollView = new UIScrollView();
+ if (SetCaloriesScrollView == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TrainingSetCaluliView::new SetCaloriesScrollView fail");
+ return nullptr;
+ }
+ SetCaloriesScrollView->SetPosition(0, 0);
+ SetCaloriesScrollView->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);
+ SetCaloriesScrollView->SetScrollBlankSize(35);
+ SetCaloriesScrollView->SetReboundSize(50);
+ SetCaloriesScrollView->SetDirection(1);
+ // 增加拖拽监听
+ UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(new TraingSetPresenter());
+ if (draglistener == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodView::draglistener can not be nullptr!");
+ return nullptr;
+ }
+ SetCaloriesScrollView->SetOnDragListener(draglistener);
+ SetCaloriesScrollView->SetTouchable(true);
+ SetCaloriesScrollView->SetDraggable(true);
+ SetCaloriesScrollView->SetVerticalScrollState(false); // 禁止垂直滑动
+ /* -------------------------------------------------------------------------- */
+ // 初始化Lable
+ TraingModel::GetInstance()->InitLabel(labeltitle_, 83, 50, 300, 35, "label1", "卡路里(千卡)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ SetCaloriesScrollView->Add(labeltitle_);
+
+ // 初始化UIPicker
+ InitUIPicker(calPicker_, 43, 106, 380, 240, "uiPicker");
+ SetCaloriesScrollView->Add(calPicker_);
+ // 初始化Button
+ TraingModel::GetInstance()->InitButtonExt(buttonok_, 0, 366, 466, 100, BUTTONOK, STR_OK, 30);
+ // Set additional property
+ buttonok_->SetImageSrc(BUTTONOK_IMAGE, BUTTONOK_IMAGE);
+ buttonok_->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingSetPresenter::GetInstance()));
+ SetCaloriesScrollView->Add(buttonok_);
+
+ return SetCaloriesScrollView;
+ }
+}
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-18 12:17:50
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/traing/training_GPS/src/TraingGPSsetPresenter.cpp
+ */
#include "AppViewIDs.h"
#include "components/ui_label_ext.h"
#include"language/font/ui_resource_string.h"
WEARABLE_LOGE("send_sport_cmd", "Invalid cmd value: %d", cmd);\r
return false;\r
}\r
-\r
+ uapi_set_screen_on_api(); // 亮屏检测\r
NativeAbility::GetInstance().EnterSlice(VIEW_TRAININGCRAD);\r
ExerciseClass exerciseType = static_cast<ExerciseClass>(cmd);\r
OHOS::TraingCardPresenter::GetInstance()->OpenSensor(exerciseType);\r
set(PUBLIC_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/Inc
)
-
set(PRIVATE_HEADER
# ${CMAKE_CURRENT_SOURCE_DIR}/../acc/lis2doc_STdC/driver
# ${CMAKE_CURRENT_SOURCE_DIR}/../acc/lis2doc_STdC
const power_display_svr_api_t *display_api = power_display_svr_get_api();
if(turnOnFlag)
{
- const power_display_svr_api_t *display_api = power_display_svr_get_api();
display_api->set_screen_set_keepon_timeout(0);
if (display_api->get_screen_state() != SCREEN_ON)
{
return display_api->get_screen_state();
}
+/**
+ * @brief 亮屏函数
+ */
+void uapi_set_screen_on_api(void)
+{
+ const power_display_svr_api_t *display_api = power_display_svr_get_api();
+ if (display_api->get_screen_state() != SCREEN_ON)
+ {
+ display_api->turn_on_screen();
+ }
+}
+
#include "bts_le_gap.h"
errcode_t uapi_get_HHMMSS_Time(char *p_time, char separator, bool include_seconds);
/*获取星期*/
errcode_t uapi_get_WeekStr(char *p_week);
+/*设置屏幕亮屏*/
+void uapi_set_screen_on_api(void);
char *uapi_get_local_yyyymmdd_date(void);