UIImageAnimatorView *GetImageAnimator();
private:
- UILabel *label;
+ UILabelExt *label;
UILabelButton *testButton;
UIScrollView *BloodBandoffScrollView;
UIViewGroup *group;
#include "bloodoxygen/include/BloodOxygenPresenter.h"
#include "bloodoxygen/include/BloodBandoffView.h"
#include "components/ui_scroll_view.h"
+#include "components/ui_label_button_ext.h"
namespace OHOS
{
class BloodOxygenPresenter;
static BloodCheckView *GetInstance(void);
UIScrollView *BloodCheckViewInit();
UIImageAnimatorView *GetImageAnimator();
- UILabelButton *CreateAndSetUIButton(const char *title);
+ UILabelButtonExt *CreateAndSetUIButton(const char *title);
void UpShowBloodText();
private:
BloodBandoffView *bloodbandoff{nullptr};
UIImageAnimatorView *imageAnimator;
- UILabel *titleLabel;
- UILabel *Spo2Text;
+ UILabelExt *titleLabel;
+ UILabelExt *Spo2Text;
UIScrollView *BloodCheckScrollView;
- UILabelButton *testButton;
+ UILabelButtonExt *testButton;
};
}
MAX_BLOODVIEW,
} BLOODVIEWID;
+
+
class BloodOxygenView;
class BloodOxygenPresenter : public Presenter<BloodOxygenView>,
public UIView::OnClickListener,
bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
uint64_t GetCurrentTime();
- std::string GetTDOA(uint64_t new_time, uint64_t old_time);
+ int GetTDOA(uint64_t new_time, uint64_t old_time);
private:
bool CheckPointersValue(void);
-/***
+/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-04-18 10:23:54
#include "bloodoxygen/include/BloodBandoffView.h"
#include "bloodoxygen/include/BloodCheckView.h"
#include "bloodoxygen/include/BloodResultView.h"
+#include "components/ui_label_button_ext.h"
#include "power_display_service.h"
namespace OHOS
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);
void ChangeView(int16_t hideView, int16_t showView);
UIScrollView *GetBloodScrollView(int ViewId);
void UpBloodText();
+
private:
// 增加图片
bool InitImageDisplay(void);
// 初始化标签
bool InitLabel(void);
// 添加label按键
- UILabelButton *CreateAndSetUIButton(const char *title);
+ UILabelButtonExt *CreateAndSetUIButton(const char *title);
// 初始化界面
bool InitBloodView(void);
bool SetOnDragListener(void);
UIScrollView *BloodScrollView[4]{nullptr};
UIViewGroup *group;
- UIImageView *imageViewMain; // 背景图片
- UILabel *percent; // 心率值
- UILabel *timeLabel; // 检测时间
- UILabel *titleLabel; // 页面title
- UILabelButton *testButton; // 检测按键
+ UIImageView *imageViewMain; // 背景图片
+ UILabelExt *percent; // 心率值
+ UILabelExt *timeLabel; // 检测时间
+ UILabelExt *titleLabel; // 页面title
+ UILabelButtonExt *testButton; // 检测按键
const power_display_svr_api_t *display_api = power_display_svr_get_api();
uint32_t display_time;
/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
- * @LastEditTime: 2024-04-18 12:11:45
+ * @LastEditTime: 2024-05-07 18:51:13
* @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/include/BloodResultView.h
*/
/*
#include "BloodOxygenPresenter.h"
#include "BloodBandoffView.h"
#include "components/ui_scroll_view.h"
+#include "components/ui_label_button_ext.h"
namespace OHOS
{
class BloodOxygenPresenter;
bool InitLabel(void);
BloodResultView *bloodresult{nullptr};
UIImageView *imageerror; // 图片
- UILabel *titlelabel;
- UILabel *label1;
- UILabel *label2;
- UILabel *label3;
+ UILabelExt *titlelabel;
+ UILabelExt *label1;
+ UILabelExt *label2;
+ UILabelExt *label3;
UIScrollView *BloodResultScrollView;
- UILabelButton *ReButton;
- UILabelButton *StButton;
+ UILabelButtonExt *ReButton;
+ UILabelButtonExt *StButton;
};
}
#include "wearable_log.h"
#include "BloodBandoffView.h"
#include "BloodOxygenModel.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodBandoffView::CreateUIViewGroup");
// 佩戴title
- label = new UILabel();
+ label = new UILabelExt();
if (label == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodBandoffView::new Label fail");
// return nullptr;
}
label->SetPosition(LABEL_POSITION_X, LABEL_POSITION_Y, LABEL_POSITION_WIDTH, LABEL_POSITION_HEIGHT);
- label->SetText("偏紧佩戴,保持静止");
+ // label->SetText("偏紧佩戴,保持静止");
+ label->SetTextId(STR_CHECKNOTE);
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
BloodBandoffScrollView->Add(label);
#include "BloodOxygenModel.h"
#include "ui_image_animator.h"
#include "BloodCheckView.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
// 动态刷新设置
BloodCheckScrollView->SetPosition(0, 0);
BloodCheckScrollView->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);
/* -------------------------------------------------------------------------- */
- titleLabel = new UILabel();
+ titleLabel = new UILabelExt();
if (titleLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new titleLabel fail");
titleLabel->Resize(200, 90); // widget's width and height
titleLabel->SetViewId("label3"); // Set style
titleLabel->SetStyle(STYLE_TEXT_FONT, 28);
- titleLabel->SetText("正在检测");
+ // titleLabel->SetText("正在检测");
+ titleLabel->SetTextId(STR_CHECKON);
titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titleLabel->SetRollSpeed(0);
/* -------------------------------------------------------------------------- */
if (testButton == nullptr)
{
- testButton = new UILabelButton();
+ testButton = new UILabelButtonExt();
}
testButton->SetPosition(118, 336); // widget's left position and top position
testButton->Resize(230, 80); // widget's width and height
testButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
// Set additional property
- testButton->SetText("停止检测");
+ // testButton->SetText("停止检测");
+ testButton->SetTextId(STR_CHECKSTOP);
testButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
testButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
testButton->SetViewId("checkstop");
testButton->SetOnClickListener(clickLeftListener);
BloodCheckScrollView->Add(testButton);
/* -------------------------------------------------------------------------- */
- Spo2Text = new UILabel();
+ Spo2Text = new UILabelExt();
if (Spo2Text == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new Spo2Text fail");
}
// 获取时间差,现在传进来的是两个时间戳
- std::string BloodOxygenPresenter::GetTDOA(uint64_t new_time, uint64_t old_time)
+ int BloodOxygenPresenter::GetTDOA(uint64_t new_time, uint64_t old_time)
{
if (new_time == old_time || old_time > new_time)
{
- return "刚刚";
+ return 0;
}
int time_diff = new_time - old_time;
- if (time_diff > 60)
- {
- int hours = time_diff / 60;
- int minutes = time_diff % 60;
- std::stringstream ss;
- ss << hours << "小时";
- if (minutes > 0)
- {
- ss << minutes << "分钟";
- }
- return ss.str() + "前";
- }
- else
- {
- std::stringstream ss;
- ss << time_diff << "分钟前";
- return ss.str();
- }
+ return time_diff;
}
/* -------------------------------------------------------------------------- */
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-05-07 18:22:47
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/bloodoxygen/src/BloodOxygenView.cpp
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: bloodOxygen view
#include "bloodoxygen/include/BloodOxygenPresenter.h"
#include "displaybrightness/include/DisplayBrightnessModel.h"
#include "power_display_service.h"
+#include "uicomponents/UIComponents.h"
namespace OHOS
{
// 按钮设置
void BloodOxygenView::UpBloodText()
{
// 更新血氧数据
- uint16_t spo2_ = BloodOxygenModel::GetInstance()->GetSPO2data();
- if (spo2_ != 0) // 判断是否为默认数据
+ uint16_t spo2 = BloodOxygenModel::GetInstance()->GetSPO2data();
+ if (spo2 != 0) // 判断是否为默认数据
{
// 更新数据
- std::string bloodoxygenStr = std::to_string(spo2_);
+ std::string bloodoxygenStr = std::to_string(spo2);
percent->SetText(bloodoxygenStr.c_str());
- // 更新时间
+
+ // 获取时间差
uint32_t time = BloodOxygenPresenter::GetInstance()->GetCurrentTime();
uint32_t check_time = BloodOxygenModel::GetInstance()->GetCheckTime();
- std::string TimeStr = BloodOxygenPresenter::GetInstance()->GetTDOA(time, check_time) + "检测";
- timeLabel->SetText(TimeStr.c_str());
+ int time_diff = BloodOxygenPresenter::GetInstance()->GetTDOA(time, check_time);
+
+ if (time_diff == 0)
+ {
+ timeLabel->SetTextId(STR_CHECKNEW);
+ }
+ else if (time_diff <= 60)
+ {
+ UpdateLabel(timeLabel, time_diff);
+ }
+ else
+ {
+ timeLabel->SetTextId(STR_CHECKLONG);
+ }
}
else
{
percent->SetText("--");
- timeLabel->SetText("暂无检测结果");
+ timeLabel->SetTextId(STR_CHECKNO);
}
}
std::string bloodoxygenStr;
std::string TimeStr;
- percent = new UILabel();
+ percent = new UILabelExt();
if (percent == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new percent fail");
percent->Resize(200, 200); // widget's width and height
percent->SetViewId("label2"); // Set style
percent->SetStyle(STYLE_TEXT_FONT, PERCENT_FONT_SIZE);
- uint16_t spo2_ = BloodOxygenModel::GetInstance()->GetSPO2data();
- if (spo2_ != 0)
- {
- bloodoxygenStr = std::to_string(spo2_);
- // 更新时间
- uint64_t time = BloodOxygenPresenter::GetInstance()->GetCurrentTime();
- uint64_t check_time = BloodOxygenModel::GetInstance()->GetCheckTime();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "time:%lld check_time:%lld", time, check_time);
- TimeStr = BloodOxygenPresenter::GetInstance()->GetTDOA(time, check_time) + "检测";
- }
- else
- {
- percent->SetText("--");
- TimeStr = "暂无测量数据";
- }
percent->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
percent->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
percent->SetRollSpeed(0);
percent->SetFont(DEFAULT_VECTOR_FONT_FILENAME, PERCENT_FONT_SIZE);
- percent->SetText(bloodoxygenStr.c_str());
/* -------------------------------------------------------------------------- */
- timeLabel = new UILabel();
+ timeLabel = new UILabelExt();
if (timeLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new timeLabel fail");
timeLabel->Resize(280, 100); // widget's width and height
timeLabel->SetViewId("label1"); // Set style
timeLabel->SetStyle(STYLE_TEXT_FONT, TIMELABEL_FONT_SIZE);
- /* -------------------------------------------------------------------------- */
- timeLabel->SetText(TimeStr.c_str());
- /* -------------------------------------------------------------------------- */
timeLabel->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
timeLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
timeLabel->SetRollSpeed(0);
timeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TIMELABEL_FONT_SIZE);
- /* -------------------------------------------------------------------------- */
- titleLabel = new UILabel();
+
+ UpBloodText();
+
+ titleLabel = new UILabelExt();
if (titleLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new titleLabel fail");
titleLabel->Resize(200, 90); // widget's width and height
titleLabel->SetViewId("label3"); // Set style
titleLabel->SetStyle(STYLE_TEXT_FONT, TITLE_FONT_SIZE);
- titleLabel->SetText("血氧饱和度");
+ titleLabel->SetTextId(STR_BLOOD);
titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titleLabel->SetRollSpeed(0);
return true;
}
// 创建标签按键
- UILabelButton *BloodOxygenView::CreateAndSetUIButton(const char *title)
+ UILabelButtonExt *BloodOxygenView::CreateAndSetUIButton(const char *title)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::CreateAndSetUIButton");
- UILabelButton *btn = new UILabelButton();
+ UILabelButtonExt *btn = new UILabelButtonExt();
if (btn == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "BloodOxygenView::new UILabelButton fail");
}
btn->SetPosition(TESTBUTTON_X, TESTBUTTON_Y, BUTTON_WIDHT2, BUTTON_HEIGHT2);
btn->SetStyle(STYLE_BACKGROUND_COLOR, 0xffcd492c);
- btn->SetText(title);
+ btn->SetTextId(STR_CHECK);
// btn->SetTextColor(Color::Red());
btn->SetFont(DEFAULT_VECTOR_FONT_FILENAME, BUTTON_LABEL_SIZE);
btn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
#include "BloodOxygenModel.h"
#include "ui_image_animator.h"
#include "BloodResultView.h"
+#include "common/image_cache_manager.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
// 图片设置
// 初始化标签
bool BloodResultView::InitLabel()
{
- titlelabel = new UILabel();
+ titlelabel = new UILabelExt();
if (titlelabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
titlelabel->SetStyle(STYLE_TEXT_FONT, 28);
// Set additional property
- titlelabel->SetText("检测不到结果");
+ // titlelabel->SetText("检测不到结果");
+ titlelabel->SetTextId(STR_CHECKERROR);
titlelabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
titlelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titlelabel->SetRollSpeed(0);
titlelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 28);
/* -------------------------------------------------------------------------- */
- label1 = new UILabel();
+ label1 = new UILabelExt();
if (label1 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
label1->SetViewId("label4"); // Set style
label1->SetStyle(STYLE_TEXT_FONT, 30);
- label1->SetText("请确认已带上手表,并保持");
+ label1->SetText("请确认已带上手表,并保持静止");
label1->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
label1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label1->SetRollSpeed(0);
label1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
- label2 = new UILabel();
+ label2 = new UILabelExt();
if (label2 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
label2->Resize(200, 60); // widget's width and height
label2->SetViewId("label5"); // Set style
label2->SetStyle(STYLE_TEXT_FONT, 30);
- label2->SetText("静止,准备好后点击下方按钮");
+ label2->SetText("准备好后点击下方按钮");
label2->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
label2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label2->SetRollSpeed(0);
label2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
- label3 = new UILabel();
+ label3 = new UILabelExt();
if (label3 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
return nullptr;
}
/* -------------------------------------------------------------------------- */
- ReButton = new UILabelButton();
+ ReButton = new UILabelButtonExt();
if (ReButton == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButton fail");
}
ReButton->SetPosition(118, 334);
ReButton->Resize(230, 80);
- ReButton->SetText("重新检测");
+ // ReButton->SetText("重新检测");
+ ReButton->SetTextId(STR_RECHECK);
ReButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffFF8A36);
ReButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
ReButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
}
ReButton->SetOnClickListener(clickLeft1Listener);
/* -------------------------------------------------------------------------- */
- StButton = new UILabelButton();
+ StButton = new UILabelButtonExt();
if (StButton == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButton fail");
}
StButton->SetPosition(118, 434); // widget's left position and top position
StButton->Resize(230, 80); // widget's width and height
- StButton->SetText("停止检测");
+ // StButton->SetText("停止检测");
+ StButton->SetTextId(STR_CHECKSTOP);
StButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
StButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
StButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-05-07 18:46:22
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartBandoffView.h
+ */
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-05-07 14:53:32
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartBandoffView.h
+ */
#ifndef Heart_BANDOFF_VIEW_H
UIImageAnimatorView *GetImageAnimator();
private:
- UILabel *label;
+ UILabelExt *label;
UILabelButton *testButton;
UIScrollView *HeartBandoffScrollView;
UIViewGroup *group;
+/***
+ * @Date: 2024-04-15 10:55:58
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-05-07 14:55:13
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/heartrate/include/HeartCheckView.h
+ */
/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: bloodCheck view
#include "components/ui_view_group.h"
#include "HeartPresenter.h"
#include "components/ui_scroll_view.h"
+#include "components/ui_label_button_ext.h"
namespace OHOS
{
class HeartPresenter;
static HeartCheckView *GetInstance(void);
UIScrollView *HeartCheckViewInit();
UIImageAnimatorView *GetImageAnimator();
- UILabelButton *CreateAndSetUIButton(const char *title);
+ UILabelButtonExt *CreateAndSetUIButton(const char *title);
void UpShowHeartText();
private:
UIImageAnimatorView *imageAnimator;
- UILabel *titleLabel;
- UILabel *HeartText;
+ UILabelExt *titleLabel;
+ UILabelExt *HeartText;
UIScrollView *HeartCheckScrollView;
- UILabelButton *testButton;
+ UILabelButtonExt *testButton;
};
}
\r
bool initstatus = true;\r
uint8_t wear_;\r
- uint8_t valid_counter_ = 0;//有效数计数器\r
- uint8_t unwear_counter_ = 0;//佩戴错误计数器\r
+ uint8_t valid_counter_ = 0; // 有效数计数器\r
+ uint8_t disvalid_counter_ = 0; // 无效数计数器\r
+ uint8_t unwear_counter_ = 0; // 佩戴错误计数器\r
};\r
}\r
\r
bool OnKeyAct(UIView &view, const KeyEvent &event) override; // 增加按键事件
uint64_t GetCurrentTime();
- std::string GetTDOA(uint64_t new_time, uint64_t old_time);
+ int GetTDOA(uint64_t new_time, uint64_t old_time);
private:
bool CheckPointersValue(void);
#include "components/ui_view_group.h"
#include "HeartPresenter.h"
#include "components/ui_scroll_view.h"
+#include "components/ui_label_button_ext.h"
namespace OHOS
{
class HeartPresenter;
bool InitLabel(void);
HeartResultView *bloodresult{nullptr};
UIImageView *imageerror; // 图片
- UILabel *titlelabel;
- UILabel *label1;
- UILabel *label2;
- UILabel *label3;
+ UILabelExt *titlelabel;
+ UILabelExt *label1;
+ UILabelExt *label2;
+ UILabelExt *label3;
UIScrollView *HeartResultScrollView;
- UILabelButton *ReButton;
- UILabelButton *StButton;
+ UILabelButtonExt *ReButton;
+ UILabelButtonExt *StButton;
};
}
#include "HeartCheckView.h"
#include "HeartResultView.h"
#include "power_display_service.h"
+#include "components/ui_label_button_ext.h"
+
namespace OHOS
{
class HeartPresenter;
void UpHeartText(); // 更新心率结果文本
private:
- bool InitImageDisplay(void); // 初始化背景图片
- bool InitLabel(void); // 初始化标签
- UILabelButton *CreateAndSetUIButton(const char *title); // 添加label按键
- bool InitHeartView(void); // 初始化界面
+ bool InitImageDisplay(void); // 初始化背景图片
+ bool InitLabel(void); // 初始化标签
+ UILabelButtonExt *CreateAndSetUIButton(const char *title); // 添加label按键
+ bool InitHeartView(void); // 初始化界面
bool SetOnDragListener(void);
HeartBandoffView *heartbandoff{nullptr};
UIScrollView *HeartScrollView[4]{nullptr};
UIViewGroup *group;
- UIImageView *imageViewMain; // 背景图片
- UILabel *percent; // 心率值
- UILabel *timeLabel; // 检测时间
- UILabel *titleLabel; // 页面title
- UILabelButton *testButton; // 检测按键
+ UIImageView *imageViewMain; // 背景图片
+ UILabelExt *percent; // 心率值
+ UILabelExt *timeLabel; // 检测时间
+ UILabelExt *titleLabel; // 页面title
+ UILabelButtonExt *testButton; // 检测按键
const power_display_svr_api_t *display_api = power_display_svr_get_api();
uint32_t display_time; // 获取系统亮屏时间暂存
#include "wearable_log.h"
#include "HeartBandoffView.h"
#include "HeartModel.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartBandoffView::CreateUIViewGroup");
// 佩戴title
- label = new UILabel();
+ label = new UILabelExt();
if (label == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartBandoffView::new Label fail");
// return nullptr;
}
label->SetPosition(LABEL_POSITION_X, LABEL_POSITION_Y, LABEL_POSITION_WIDTH, LABEL_POSITION_HEIGHT);
- label->SetText("偏紧佩戴,保持静止");
+ // label->SetText("偏紧佩戴,保持静止");
+ label->SetTextId(STR_CHECKNOTE);
label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, FONT_DEFAULT_SIZE);
label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
HeartBandoffScrollView->Add(label);
#include "HeartModel.h"
#include "ui_image_animator.h"
#include "HeartCheckView.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
// 动态刷新设置
HeartCheckScrollView->SetPosition(0, 0);
HeartCheckScrollView->Resize(VERTICAL_RESOLUTION, HORIZONTAL_RESOLUTION);
/* -------------------------------------------------------------------------- */
- titleLabel = new UILabel();
+ titleLabel = new UILabelExt();
if (titleLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new titleLabel fail");
titleLabel->Resize(200, 90); // widget's width and height
titleLabel->SetViewId("label3"); // Set style
titleLabel->SetStyle(STYLE_TEXT_FONT, 28);
- titleLabel->SetText("正在检测");
+ // titleLabel->SetText("正在检测");
+ titleLabel->SetTextId(STR_CHECKON);
titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titleLabel->SetRollSpeed(0);
return nullptr;
}
imageAnimator->SetImageAnimatorSrc(g_imageAnimatorInfo_Time, CHECKIMAGEANIMATORVIEW_SIZE, CHECKIMAGEANIMATORVIEW_SPEED);
- //imageAnimator->SetRepeatTimes(30);
+ // imageAnimator->SetRepeatTimes(30);
imageAnimator->SetRepeat(true);
imageAnimator->Start();
HeartCheckScrollView->Add(imageAnimator);
/* -------------------------------------------------------------------------- */
if (testButton == nullptr)
{
- testButton = new UILabelButton();
+ testButton = new UILabelButtonExt();
}
testButton->SetPosition(118, 336); // widget's left position and top position
testButton->Resize(230, 80); // widget's width and height
testButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
// Set additional property
- testButton->SetText("停止检测");
+ // testButton->SetText("停止检测");
+ testButton->SetTextId(STR_CHECKSTOP);
testButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
testButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
testButton->SetViewId("checkstop");
testButton->SetOnClickListener(clickLeftListener);
HeartCheckScrollView->Add(testButton);
/* -------------------------------------------------------------------------- */
- HeartText = new UILabel();
+ HeartText = new UILabelExt();
if (HeartText == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new HeartText fail");
return nullptr;
}
HeartText->SetPosition(83, 110); // widget's left position and top position
- HeartText->Resize(300, 250); // widget's width and height
- HeartText->SetViewId("label"); // Set style
+ HeartText->Resize(300, 250); // widget's width and height
+ HeartText->SetViewId("label"); // Set style
HeartText->SetStyle(STYLE_TEXT_FONT, 140);
uint16_t heart_ = HeartModel::GetInstance()->GetHeartdata();
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetHeartData %d", heart_);
{\r
#endif\r
\r
-#define MAX_UNWEAR_COUNT 30\r
-#define MAX_VALID_HRS_COUNT 30\r
+#define MAX_UNWEAR_COUNT 20\r
+#define MAX_VALID_HRS_COUNT 40\r
+#define MAX_DISVALID_HRS_COUNT 40\r
#define HEARTTEST 1 //[0 开启测试 1 关闭]\r
/* 佩戴检测结果 */\r
enum\r
{\r
valid_counter_ = 0;\r
unwear_counter_ = 0;\r
+ disvalid_counter_ = 0;\r
SetCheckStatus(false);\r
SetWearStatus(1);\r
}\r
void HeartModel::SetWearStatus(int32_t wear)\r
{\r
// 设置佩戴状态\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartModel Weartest::%d", wear);\r
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartModel Weartest::%d", wear);\r
if (wear_ != 1 && wear != 1)\r
{\r
unwear_counter_++; // 佩戴错误计时器计数\r
if (Show_Heart_ != 0)\r
{\r
Heart_ = heart;\r
- valid_counter_++; // 增加有效计数器\r
+ valid_counter_++; // 增加有效计数器\r
+ disvalid_counter_ = 0; // 清零无效数\r
}\r
else\r
{\r
- valid_counter_ = 0; // 清零有效计数器\r
+ valid_counter_ = 0; // 清零有效计数器\r
+ disvalid_counter_++; // 增加无效数\r
+ }\r
+ // 一直为无效数\r
+ if (disvalid_counter_ >= MAX_DISVALID_HRS_COUNT)\r
+ {\r
+ // 结束本次测试\r
+ PRINT("MAX_DISVALID_HRS_COUNT\r\n");\r
+ Heart_Stop();\r
+ return;\r
}\r
#if HEARTTEST\r
if (valid_counter_ >= MAX_VALID_HRS_COUNT)\r
return current_time;
}
- std::string HeartPresenter::GetTDOA(uint64_t new_time, uint64_t old_time)
+ int HeartPresenter::GetTDOA(uint64_t new_time, uint64_t old_time)
{
if (new_time == old_time || old_time > new_time)
{
- return "刚刚";
+ return 0;
}
int time_diff = new_time - old_time;
- if (time_diff > 60)
- {
- int hours = time_diff / 60;
- int minutes = time_diff % 60;
- std::stringstream ss;
- ss << hours << "小时";
- if (minutes > 0)
- {
- ss << minutes << "分钟";
- }
- return ss.str() + "前";
- }
- else
- {
- std::stringstream ss;
- ss << time_diff << "分钟前";
- return ss.str();
- }
+ return time_diff;
}
HeartPresenter::HeartPresenter()
#include "HeartModel.h"
#include "ui_image_animator.h"
#include "HeartResultView.h"
+#include "language/font/ui_resource_string.h"
namespace OHOS
{
// 图片设置
// 初始化标签
bool HeartResultView::InitLabel()
{
- titlelabel = new UILabel();
+ titlelabel = new UILabelExt();
if (titlelabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
titlelabel->SetStyle(STYLE_TEXT_FONT, 28);
// Set additional property
- titlelabel->SetText("检测不到结果");
+ // titlelabel->SetText("检测不到结果");
+ titlelabel->SetTextId(STR_CHECKERROR);
titlelabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
titlelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titlelabel->SetRollSpeed(0);
titlelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 28);
/* -------------------------------------------------------------------------- */
- label1 = new UILabel();
+ label1 = new UILabelExt();
if (label1 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
label1->SetViewId("label4"); // Set style
label1->SetStyle(STYLE_TEXT_FONT, 30);
- label1->SetText("请确认已带上手表,并保持");
+ label1->SetText("请确认已带上手表,并保持静止");
label1->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
label1->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label1->SetRollSpeed(0);
label1->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
- label2 = new UILabel();
+ label2 = new UILabelExt();
if (label2 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
label2->Resize(200, 60); // widget's width and height
label2->SetViewId("label5"); // Set style
label2->SetStyle(STYLE_TEXT_FONT, 30);
- label2->SetText("静止,准备好后点击下方按钮");
+ label2->SetText("准备好后点击下方按钮");
label2->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
label2->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
label2->SetRollSpeed(0);
label2->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
/* -------------------------------------------------------------------------- */
- label3 = new UILabel();
+ label3 = new UILabelExt();
if (label3 == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel fail");
return nullptr;
}
/* -------------------------------------------------------------------------- */
- ReButton = new UILabelButton();
+ ReButton = new UILabelButtonExt();
if (ReButton == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButton fail");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButtonExt fail");
return nullptr;
}
ReButton->SetPosition(118, 334);
ReButton->Resize(230, 80);
- ReButton->SetText("重新检测");
+ // ReButton->SetText("重新检测");
+ ReButton->SetTextId(STR_RECHECK);
ReButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xffFF8A36);
ReButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
ReButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
}
ReButton->SetOnClickListener(clickLeft1Listener);
/* -------------------------------------------------------------------------- */
- StButton = new UILabelButton();
+ StButton = new UILabelButtonExt();
if (StButton == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButton fail");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UILabelButtonExt fail");
return nullptr;
}
StButton->SetPosition(118, 434); // widget's left position and top position
StButton->Resize(230, 80); // widget's width and height
- StButton->SetText("停止检测");
+ // StButton->SetText("停止检测");
+ StButton->SetTextId(STR_CHECKSTOP);
StButton->SetStyle(STYLE_BACKGROUND_COLOR, 0xff191919);
StButton->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
StButton->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
#include "heartrate/include/HeartBandoffView.h"
#include "heartrate/include/HeartCheckView.h"
#include "heartrate/include/HeartRateView.h"
+#include "language/font/ui_resource_string.h"
+#include "uicomponents/UIComponents.h"
namespace OHOS
{
}
void HeartView::UpHeartText()
{
- // 更新血氧数据
- uint64_t heart_ = HeartModel::GetInstance()->GetHeartdata();
- std::string heartStr;
- std::string TimeStr;
- if (heart_ != 0) // 判断是否为默认数据
+ // 更新心率数据
+ uint8_t heart = HeartModel::GetInstance()->GetHeartdata();
+ if (heart != 0) // 判断是否为默认数据
{
- heartStr = std::to_string(heart_);
- // 更新时间
- uint64_t time = HeartPresenter::GetInstance()->GetCurrentTime();
- uint64_t check_time = HeartModel::GetInstance()->GetCheckTime();
- TimeStr = HeartPresenter::GetInstance()->GetTDOA(time, check_time) + "检测";
+ // 更新心率数据
+ std::string heartStr = std::to_string(heart);
+ percent->SetText(heartStr.c_str());
+
+ // 获取时间差
+ uint32_t time = HeartPresenter::GetInstance()->GetCurrentTime();
+ uint32_t check_time = HeartModel::GetInstance()->GetCheckTime();
+ int time_diff = HeartPresenter::GetInstance()->GetTDOA(time, check_time);
+
+ // 更新时间标签
+ if (time_diff == 0)
+ {
+ timeLabel->SetTextId(STR_CHECKNEW);
+ }
+ else if (time_diff <= 60)
+ {
+ UpdateLabel(timeLabel, time_diff);
+ }
+ else
+ {
+ timeLabel->SetTextId(STR_CHECKLONG);
+ }
}
else
{
- heartStr = "--";
- TimeStr = "暂无检测记录";
+ percent->SetText("--");
+ timeLabel->SetTextId(STR_CHECKNO);
}
- percent->SetText(heartStr.c_str());
- timeLabel->SetText(TimeStr.c_str());
}
// 初始化标签
bool HeartView::InitLabel()
{
/* -------------------------------------------------------------------------- */
- percent = new UILabel();
+ percent = new UILabelExt();
if (percent == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new percent fail");
percent->SetRollSpeed(0);
percent->SetFont(DEFAULT_VECTOR_FONT_FILENAME, PERCENT_FONT_SIZE);
/* -------------------------------------------------------------------------- */
- timeLabel = new UILabel();
+ timeLabel = new UILabelExt();
if (timeLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new timeLabel fail");
timeLabel->SetRollSpeed(0);
timeLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TIMELABEL_FONT_SIZE);
/* -------------------------------------------------------------------------- */
- titleLabel = new UILabel();
+ titleLabel = new UILabelExt();
if (titleLabel == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new titleLabel fail");
titleLabel->Resize(200, 90); // widget's width and height
titleLabel->SetViewId("label3"); // Set style
titleLabel->SetStyle(STYLE_TEXT_FONT, TITLE_FONT_SIZE);
- titleLabel->SetText("心率检测结果");
- titleLabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);
+ // titleLabel->SetText("心率检测结果");
+ titleLabel->SetTextId(STR_HEARTDATA);
+ titleLabel->SetLineBreakMode(UILabelExt::LINE_BREAK_ADAPT);
titleLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
titleLabel->SetRollSpeed(0);
titleLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, TITLE_FONT_SIZE);
- /* -------------------------------------------------------------------------- */
- uint64_t heart_ = HeartModel::GetInstance()->GetHeartdata();
- std::string heartStr;
- std::string TimeStr;
- if (heart_ != 0) // 判断是否为默认数据
- {
- heartStr = std::to_string(heart_);
- // 更新时间
- uint64_t time = HeartPresenter::GetInstance()->GetCurrentTime();
- uint64_t check_time = HeartModel::GetInstance()->GetCheckTime();
- TimeStr = HeartPresenter::GetInstance()->GetTDOA(time, check_time) + "检测";
- }
- else
- {
- heartStr = "--";
- TimeStr = "暂无检测记录";
- }
- percent->SetText(heartStr.c_str());
-
- timeLabel->SetText(TimeStr.c_str());
+ UpHeartText();
/* -------------------------------------------------------------------------- */
return true;
}
// 创建标签按键
- UILabelButton *HeartView::CreateAndSetUIButton(const char *title)
+ UILabelButtonExt *HeartView::CreateAndSetUIButton(const char *title)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartView::CreateAndSetUIButton");
- UILabelButton *btn = new UILabelButton();
+ UILabelButtonExt *btn = new UILabelButtonExt();
if (btn == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new UILabelButton fail");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartView::new UILabelButtonExt fail");
return nullptr;
}
btn->SetPosition(TESTBUTTON_X, TESTBUTTON_Y, BUTTON_WIDHT2, BUTTON_HEIGHT2);
btn->SetStyle(STYLE_BACKGROUND_COLOR, 0xffcd492c);
- btn->SetText(title);
+ // btn->SetText(title);
+ btn->SetTextId(STR_CHECK);
// btn->SetTextColor(Color::Red());
btn->SetFont(DEFAULT_VECTOR_FONT_FILENAME, BUTTON_LABEL_SIZE);
btn->SetStyleForState(STYLE_BORDER_COLOR, 0xff0b1928, UIButton::PRESSED);
+++ /dev/null
-Ò»°ã¶ÍÁ¶
-×ÔÓÉѵÁ·
-¼¡Á¦ÑµÁ·
-·ÉÂÖ³µ/ÊÒÄÚ½¡Éí³µ
-̤²½»ú
-Âþ²½»ú
-HIIT/¸ßÇ¿¶È¼äЪѵÁ·
-½¡Éí
-ÍÅÌå²Ù
-è¤çì
-è¤çìèʽ
-è¤çìţʽ
-è¤çìÑÛ¾µÉßʽ
-è¤çìÓ¢ÐÛʽ1
-è¤çìÓ¢ÐÛʽ2
-è¤çìÓ¢ÐÛʽ3
-è¤çì¹öÂÖ
-ÊÒÍâ×ß·
-ÊÒÍâÅܲ½
-ÊÒÄÚ×ß·
-ÊÒÄÚÅܲ½
-ÊÒÍâÆïÐÐ
-ÌøÉþ
-ƤÀÌá˹
-»ìºÏ½¡Éí
-¹¦ÄÜÐÔѵÁ·
-ÌåÄÜѵÁ·
-õÌȵÀ/ÌßÈ
-È»÷
-×ÔÓɲ«»÷
-¿ÕÊÖµÀ
-»÷½£
-ºËÐÄѵÁ·
-È»÷ÓÐÑõ
-½£µÀ
-µ¥¸Ü
-Ë«¸Ü
-Ñ»·ÑµÁ·
-ÓÐÑõÔ˶¯
-½¡ÃÀ²Ù
-P90X
-ºøÁåѵÁ·
-×ۺϸñ¶·
-ÅÀÂ¥ÌÝ»ú
-¾ÙÖØ
-Barre
-ÊÖÂÖ
-Ìï¾¶
-½ÇÁ¦
-ÉíÐÄÔ˶¯
-ÈáÈí²Ù
-»ìºÍÓÐÑõ
-´«Í³¼¡Á¦ÑµÁ·
-½»²æÑµÁ·
-Ìå²Ù
-½×ÌÝѵÁ·
-ÍÖÔ²»ú
-»®´¬»ú
-Ò»°ãÎ赸
-¶ÇƤÎè
-¾ôÊ¿Îè
-À¶¡Îè
-°ÅÀÙ
-½ÖÎè
-¹ã³¡Îè
-×ð°Í
-Éç½»Îè
-Ìß̤Îè
-Ò»°ãÐÝÏÐÔ˶¯
-»¬ÂÖÁï±ù
-ÎäÊõ
-Ì«¼«È
-ºôÀȦ
-·ÉÅÌ
-·ÉïÚ
-Éä¼ý
-ÆïÂí
-¶ÔÕ½ÓÎÏ·
-·Å·çóÝ
-°ÎºÓ
-íFía
-ÅÀÂ¥ÌÝ
-ÕϰÈü
-µöÓã
-´òÁÔ
-»¬°å³µ
-»¬ÏèÉ¡
-ÍŶӾº¼¼
-½¡ÉíµçÍæ
-½¡ÐÐ
-ÂíÊõÔ˶¯
-ÍæÀÖ
-Ò»°ãÇòÀàÔ˶¯
-ÓðëÇò
-ƹÅÒÇò
-ÍøÇò
-ײÇò
-±£ÁäÇò
-ÅÅÇò
-ë¦×ÓÇò
-ÊÖÇò
-°ôÇò
-ÀÝÇò
-°åÇò
-ÃÀʽéÏéÇò
-ɳ̲×ãÇò
-ɳ̲ÅÅÇò
-é³Çò
-Çú¹÷Çò
-Ӣʽ±ÚÇò
-ÌÙÇò
-¶ã±ÜÇò
-ÀºÇò
-×ãÇò
-¸ß¶û·òÇò
-ÂíÇò
-ÃÀʽ±ÚÇò
-ӢʽéÏéÇò
-ÃÅÇò
-Æ¥¿ËÇò
-´ü¹÷Çò
-Ò»°ãË®Éϻ
-·«´¬
-³åÀË
-·ºÖÛ
-»®ÁúÖÛ
-Çáͧ
-Èüͧ
-Ë®ÉÏĦÍгµ
-Á¢½°³åÀË
-DZˮ
-ÌøË®
-»¬ÏèÉ¡³åÀË
-³åÀË»¬Ë®
-Ë®Çò
-·ç·«³åÀË
-ƯÁ÷»î¶¯
-Ë®Öн¡Éí
-Ë®ÉÏÔ˶¯
-»§ÍâÓÎÓ¾
-ÊÒÄÚÓÎÓ¾
-ÓÎÓ¾_×ÔÓÉʽ
-ÓÎÓ¾_ÍÜʽ
-ÓÎÓ¾_Ñöʽ
-ÓÎÓ¾_µûʽ
-Ò»°ã±ùÉÏÔ˶¯
-Áï±ù
-±ùÇò
-±ùʯºø/±ùºø
-Ñ©ÉÏĦÍгµ
-Ñ©ÇÁ
-¶¬¼¾Á½Ïî
-Ô½Ò°»¬Ñ©
-»¬Ñ©
-µ¥°å»¬Ñ©/»¬Ñ©°å
-ѩЬ½¡ÐÐ
-Ñ©µØÔ˶¯
-Ò»°ã¼«ÏÞÔ˶¯
-»¬°å
-ÅÊÑÒ
-¸ß¿Õµ¯Ìø/±Ä¼«»î¶¯
-ÅÜ¿á
-BMX
-¶¨ÏòÔ½Ò°
-ÌøÉ¡
-Èü³µ
-ÌúÈËÈýÏîÔ˶¯
-³ËµçÌÝ
-³ËÊÖ·öÌÝ
-×öÔ°ÒÕ
-×ö¼ÒÎñ
-ÔÚ³µÀï
-Ú¤Ïë
-¾²Ö¹
-Çãб
-×øÂÖÒÎÒÆ¶¯
-½¡ÉíÀà
-ÇòÀà
-Ë®ÉÏÔ˶¯
-Î赸Àà
-¼«ÏÞÔ˶¯
-±ùÉÏÔ˶¯
-ÐÝÏÐÔ˶¯
-ÆäËû
-Î赸Ô˶¯
-ÇòÀàÔ˶¯
-ÆäËûÔ˶¯
-½¡ÉíÔ˶¯
-ѵÁ·
-¿ìËÙѵÁ·
-ÉèÖÃÄ¿±ê >
-ʱ³¤
-ʱ³¤É趨
-·ÖÖÓ
-¿¨Â·Àï
-¿¨Â·ÀïÉ趨
-ǧ¿¨
-¾àÀë
-¾àÀëÉ趨
-Ã×
-¹«Àï
-²½Êý
-²½ÊýÉ趨
-²½
-ÐÄÂÊ
-ƽ¾ùÐÄÂÊ
-´Î/·Ö
-ƽ¾ùÐÄÂÊ(´Î/·Ö)
-ÖÐ
-½ÏµÍÇ¿¶È
-ÖеÈÇ¿¶È
-¸ßµÈÇ¿¶È
-³¬¸ßÇ¿¶È
-ѵÁ·Ç¿¶È
-ѵÁ·Ç¿¶ÈÓÃÓÚÅжÏÊÇ·ñѵÁ·²»×ã»òÕßѵÁ·Ì«¹ý£¬µ½µ×ʹÐÄÂÊÔö¼Ó¶àÉÙµÄÔ˶¯Ç¿¶È²ÅÊÇ×îºÏÊʵġ£
-¸ÃÇ¿¶ÈÇø¼äÊǶÔÓ¦°ÐÐÄÂÊ£¨ÓɸöÈË»ù±¾×ÊÁϼÆËãµÃ³ö£©Ç¿ÈõµÄʵʱ״̬ÏÔʾ£¬ÓÐÖúÓÚÌá¸ßѵÁ·ÖÊÁ¿
-ѵÁ·×´Ì¬´ú±íµÄÒâÒå
-ÈÈÉíÔ˶¯
-È¼Ö¬Çø
-ÌáÉýÐķλúÄÜ
-רҵÔ˶¯Ô±
-×¢£º¸ÃѵÁ·Ç¿¶È²¢·ÇרҵÔ˶¯ÆÀ¹À£¬Êý¾Ý½ö¹©²Î¿¼
-ѵÁ·ÖÐ
-ÔÝͣѵÁ·
-½áÊø
-ÔÝÍ£
-¼ÌÐø
-Ä¿±êÒÑ´ï³É
-Íê³ÉÄ¿±ê
-È·¶¨
-×¢Òâ
-µ±Ç°Ô˶¯Á¿Ì«Ð¡£¬ÎÞ·¨¼Ç¼ ÊÇ·ñ½áÊøÔ˶¯
-½áÊøÔ˶¯
-ÊÇ·ñ½áÊø±¾´ÎÔ˶¯
-Ä¿±êÍê³É¶È
-ѵÁ·Ê±³¤
-¹Ø±Õ
-¸ü¶à
\ No newline at end of file
STR_BALL_LIST_TITLE$球类运动\r
STR_OTHER_TITLE$其他运动\r
STR_EXERCISE_TITLE$健身运动\r
-STR_TRAINING$训练\r
STR_RAPID_TRAINING$快速训练\r
STR_SET_GOALS$设置目标 >\r
STR_DURATION$时长\r
-STR_DURATION_SETTING$时长设定\r
-STR_MINUTES$分钟\r
+STR_DURATION_SETTING$时长(分钟)\r
STR_CALORIE$卡路里\r
-STR_CALORIE_SETTING$卡路里设定\r
-STR_KILOCALORIE$千卡\r
+STR_CALORIE_SETTING$卡路里(千卡)\r
STR_DISTANCE$距离\r
-STR_RANGE_SETTING$距离设定\r
-STR_METER$米\r
-STR_KILOMETRE$公里\r
+STR_RANGE_SETTING$距离(公里)\r
STR_STEP_NUMBER$步数\r
-STR_STEP_SETTING$步数设定\r
-STR_STEP$步\r
-STR_HEART_RATE$心率\r
+STR_STEP_SETTING$步数(步)\r
+STR_HEART_RATE$心率(次/分)\r
STR_MEAN_HEART_RATE$平均心率\r
STR_TIMES_PER_MIN$次/分\r
STR_MEAN_HEART_RATE_MIN$平均心率(次/分)\r
-STR_IN_THE$中\r
STR_LOWER_STRENGTH$较低强度\r
STR_MEDIUM_STRENGTH$中等强度\r
STR_HIGH_STRENGTH$高等强度\r
-STR_ULTRA_HIGH_STRENGTH$超高强度\r
+STR_ULTRA_HIGH_STRENGTH$超大强度\r
STR_TRAINING_INTENSITY$训练强度\r
-STR_TRAINING_INTENSITY_DESCRIPTION$训练强度用于判断是否训练不足或者训练太过,到底使心率增加多少的运动强度才是最合适的。\r
-STR_INTENSITY_INTERVAL_DESCRIPTION$该强度区间是对应靶心率(由个人基本资料计算得出)强弱的实时状态显示,有助于提高训练质量\r
-STR_TRAINING_STATE_MEANING$训练状态代表的意义\r
-STR_WARM_UP_EXERCISE$热身运动\r
-STR_FAT_BURNING_ZONE$燃脂区\r
-STR_IMPROVE_CARDIOPULMONARY_FUNCTION$提升心肺机能\r
-STR_PROFESSIONAL_ATHLETE$专业运动员\r
-STR_TRAINING_INTENSITY_NOTE$注:该训练强度并非专业运动评估,数据仅供参考\r
STR_TRAINING_IN_PROGRESS$训练中\r
STR_BREAK_TRAINING$暂停训练\r
STR_FINISH$结束\r
STR_ACCOMPLISH_GOAL$完成目标\r
STR_OK$确定\r
STR_LOOK_OUT$注意\r
-STR_INSUFFICIENT_EXERCISE_AMOUNT$当前运动量太小,无法记录。是否结束运动\r
+STR_INSUFFICIENT_EXERCISE_AMOUNT$当前运动量太小,无法记录\r
STR_END_MOVEMENT$结束运动\r
STR_END_THIS_MOVEMENT$是否结束本次运动\r
STR_GOAL_ACCOMPLISHMENT_DEGREE$目标完成度\r
STR_TRAINING_DURATION$训练时长\r
-STR_OFF$关闭\r
+STR_RANGE_MILE$距离(米)\r
+STR_CLOSE$关闭\r
STR_MORE$更多\r
+STR_MORE_APP$更多前往APP查看\r
+STR_SAVENOTE$开启省电模式会关闭非必要的蓝牙连接,以及传感器监测等功能\r
+STR_SAVEBACK$长按屏幕3秒以上或充电可退出省电模式\r
+STR_SAVEASK$是否开启\r
+STR_BLOOD$血氧饱和度\r
+STR_CHECK$检测\r
+STR_CHECKNEW$刚刚检测\r
+STR_CHECKTIME$XX分钟前检测\r
+STR_CHECKLONG$超过1个小时前检测\r
+STR_CHECKNO$暂无检测记录\r
+STR_CHECKNOTE$偏紧佩戴,保持静止\r
+STR_CHECKON$正在检测\r
+STR_CHECKSTOP$停止检测\r
+STR_CHECKERROR$检测不到结果\r
+STR_WAERKEEP$请确认已带上手表,并保持静止\r
+STR_WEARRE$进行重新检测\r
+STR_WEARREADY$准备好后点击下方按钮\r
+STR_RECHECK$重新检测\r
+STR_CHECKEWARN$血氧提醒\r
+STR_BLOODSHORT$当前血氧含量已低于XX%\r
+STR_HEARTNOTE$请注意身体健康\r
+STR_KONW$知道了\r
+STR_EXPLAIN$说明\r
+STR_HEARTREST$静息 \r
+STR_HEARTDATA$心率检测结果\r
+STR_HEARTTITLE$心率提醒\r
+STR_HEARTMAX$当前心率值高于XX\r
+STR_HEARTMIN$当前心率值低于XX\r
+STR_TRAINGNO$无记录\r
+STR_TRAINGGO$去训练\r
+STR_MESSAGE$通知\r
+STR_MESSAGENO$暂无内容\r
+STR_STEP$今日步数\r
+STR_DIS$里程(KM)\r
+STR_DUR$燃脂时间\r
+STR_STANDUP$站立次数\r
+STR_SLEEP$昨夜睡眠\r
+STR_SLEEPHOUR$小时\r
+STR_SLEEPMGOAL$目标\r
+STR_REATTIME$作息时间\r
+STR_SLEEPTIME$入睡时间\r
+STR_WALKTIME$醒来时间\r
+STR_DISTURB$手表将在20分钟后开启勿扰模式,关闭请到控制中心\r
+STR_DISTURBNOTE$已开启勿扰模式,此模式下手表将不会发出震动与铃声\r
+STR_MORNNING$早安\r
+STR_NOW$当前\r
+STR_NAP$小睡(5分钟)\r
+STR_TACK$请先打开app,进入“设备”-“拍照”\r
+STR_CLICK$点击拍照\r
+STR_TACKNUM$已拍摄XX张\r
STR_HEART_RATE$心率\r
STR_BLOOD_OXYGEN$血氧\r
STR_TRAINING$训练\r
<lanstr id="STR_BALL_LIST_TITLE" value="球类运动"/>
<lanstr id="STR_OTHER_TITLE" value="其他运动"/>
<lanstr id="STR_EXERCISE_TITLE" value="健身运动"/>
- <lanstr id="STR_TRAINING" value="训练"/>
<lanstr id="STR_RAPID_TRAINING" value="快速训练"/>
- <lanstr id="STR_SET_GOALS" value="设置目标 >"/>
+ <lanstr id="STR_SET_GOALS" value="设置目标 >"/>
<lanstr id="STR_DURATION" value="时长"/>
- <lanstr id="STR_DURATION_SETTING" value="时长设定"/>
- <lanstr id="STR_MINUTES" value="分钟"/>
+ <lanstr id="STR_DURATION_SETTING" value="时长(分钟)"/>
<lanstr id="STR_CALORIE" value="卡路里"/>
- <lanstr id="STR_CALORIE_SETTING" value="卡路里设定"/>
- <lanstr id="STR_KILOCALORIE" value="千卡"/>
+ <lanstr id="STR_CALORIE_SETTING" value="卡路里(千卡)"/>
<lanstr id="STR_DISTANCE" value="距离"/>
- <lanstr id="STR_RANGE_SETTING" value="距离设定"/>
- <lanstr id="STR_METER" value="米"/>
- <lanstr id="STR_KILOMETRE" value="公里"/>
+ <lanstr id="STR_RANGE_SETTING" value="距离(公里)"/>
<lanstr id="STR_STEP_NUMBER" value="步数"/>
- <lanstr id="STR_STEP_SETTING" value="步数设定"/>
- <lanstr id="STR_STEP" value="步"/>
- <lanstr id="STR_HEART_RATE" value="心率"/>
+ <lanstr id="STR_STEP_SETTING" value="步数(步)"/>
+ <lanstr id="STR_HEART_RATE" value="心率(次/分)"/>
<lanstr id="STR_MEAN_HEART_RATE" value="平均心率"/>
<lanstr id="STR_TIMES_PER_MIN" value="次/分"/>
<lanstr id="STR_MEAN_HEART_RATE_MIN" value="平均心率(次/分)"/>
- <lanstr id="STR_IN_THE" value="中"/>
<lanstr id="STR_LOWER_STRENGTH" value="较低强度"/>
<lanstr id="STR_MEDIUM_STRENGTH" value="中等强度"/>
<lanstr id="STR_HIGH_STRENGTH" value="高等强度"/>
- <lanstr id="STR_ULTRA_HIGH_STRENGTH" value="超高强度"/>
+ <lanstr id="STR_ULTRA_HIGH_STRENGTH" value="超大强度"/>
<lanstr id="STR_TRAINING_INTENSITY" value="训练强度"/>
- <lanstr id="STR_TRAINING_INTENSITY_DESCRIPTION" value="训练强度用于判断是否训练不足或者训练太过,到底使心率增加多少的运动强度才是最合适的。"/>
- <lanstr id="STR_INTENSITY_INTERVAL_DESCRIPTION" value="该强度区间是对应靶心率(由个人基本资料计算得出)强弱的实时状态显示,有助于提高训练质量"/>
- <lanstr id="STR_TRAINING_STATE_MEANING" value="训练状态代表的意义"/>
- <lanstr id="STR_WARM_UP_EXERCISE" value="热身运动"/>
- <lanstr id="STR_FAT_BURNING_ZONE" value="燃脂区"/>
- <lanstr id="STR_IMPROVE_CARDIOPULMONARY_FUNCTION" value="提升心肺机能"/>
- <lanstr id="STR_PROFESSIONAL_ATHLETE" value="专业运动员"/>
- <lanstr id="STR_TRAINING_INTENSITY_NOTE" value="注:该训练强度并非专业运动评估,数据仅供参考"/>
<lanstr id="STR_TRAINING_IN_PROGRESS" value="训练中"/>
<lanstr id="STR_BREAK_TRAINING" value="暂停训练"/>
<lanstr id="STR_FINISH" value="结束"/>
<lanstr id="STR_ACCOMPLISH_GOAL" value="完成目标"/>
<lanstr id="STR_OK" value="确定"/>
<lanstr id="STR_LOOK_OUT" value="注意"/>
- <lanstr id="STR_INSUFFICIENT_EXERCISE_AMOUNT" value="当前运动量太小,无法记录。是否结束运动"/>
+ <lanstr id="STR_INSUFFICIENT_EXERCISE_AMOUNT" value="当前运动量太小,无法记录"/>
<lanstr id="STR_END_MOVEMENT" value="结束运动"/>
<lanstr id="STR_END_THIS_MOVEMENT" value="是否结束本次运动"/>
<lanstr id="STR_GOAL_ACCOMPLISHMENT_DEGREE" value="目标完成度"/>
<lanstr id="STR_TRAINING_DURATION" value="训练时长"/>
- <lanstr id="STR_OFF" value="关闭"/>
+ <lanstr id="STR_RANGE_MILE" value="距离(米)"/>
+ <lanstr id="STR_CLOSE" value="关闭"/>
<lanstr id="STR_MORE" value="更多"/>
+ <lanstr id="STR_MORE_APP" value="更多前往APP查看"/>
+ <lanstr id="STR_SAVENOTE" value="开启省电模式会关闭非必要的蓝牙连接,以及传感器监测等功能"/>
+ <lanstr id="STR_SAVEBACK" value="长按屏幕3秒以上或充电可退出省电模式"/>
+ <lanstr id="STR_SAVEASK" value="是否开启"/>
+ <lanstr id="STR_BLOOD" value="血氧饱和度"/>
+ <lanstr id="STR_CHECK" value="检测"/>
+ <lanstr id="STR_CHECKNEW" value="刚刚检测"/>
+ <lanstr id="STR_CHECKTIME" value="XX分钟前检测"/>
+ <lanstr id="STR_CHECKLONG" value="超过1个小时前检测"/>
+ <lanstr id="STR_CHECKNO" value="暂无检测记录"/>
+ <lanstr id="STR_CHECKNOTE" value="偏紧佩戴,保持静止"/>
+ <lanstr id="STR_CHECKON" value="正在检测"/>
+ <lanstr id="STR_CHECKSTOP" value="停止检测"/>
+ <lanstr id="STR_CHECKERROR" value="检测不到结果"/>
+ <lanstr id="STR_WAERKEEP" value="请确认已带上手表,并保持静止"/>
+ <lanstr id="STR_WEARRE" value="进行重新检测"/>
+ <lanstr id="STR_WEARREADY" value="准备好后点击下方按钮"/>
+ <lanstr id="STR_RECHECK" value="重新检测"/>
+ <lanstr id="STR_CHECKEWARN" value="血氧提醒"/>
+ <lanstr id="STR_BLOODSHORT" value="当前血氧含量已低于XX%"/>
+ <lanstr id="STR_HEARTNOTE" value="请注意身体健康"/>
+ <lanstr id="STR_KONW" value="知道了"/>
+ <lanstr id="STR_EXPLAIN" value="说明"/>
+ <lanstr id="STR_HEARTREST" value="静息"/>
+ <lanstr id="STR_HEARTDATA" value="心率检测结果"/>
+ <lanstr id="STR_HEARTTITLE" value="心率提醒"/>
+ <lanstr id="STR_HEARTMAX" value="当前心率值高于XX"/>
+ <lanstr id="STR_HEARTMIN" value="当前心率值低于XX"/>
+ <lanstr id="STR_TRAINGNO" value="无记录"/>
+ <lanstr id="STR_TRAINGGO" value="去训练"/>
+ <lanstr id="STR_MESSAGE" value="通知"/>
+ <lanstr id="STR_MESSAGENO" value="暂无内容"/>
+ <lanstr id="STR_STEP" value="今日步数"/>
+ <lanstr id="STR_DIS" value="里程(KM)"/>
+ <lanstr id="STR_DUR" value="燃脂时间"/>
+ <lanstr id="STR_STANDUP" value="站立次数"/>
+ <lanstr id="STR_SLEEP" value="昨夜睡眠"/>
+ <lanstr id="STR_SLEEPHOUR" value="小时"/>
+ <lanstr id="STR_SLEEPMGOAL" value="目标"/>
+ <lanstr id="STR_REATTIME" value="作息时间"/>
+ <lanstr id="STR_SLEEPTIME" value="入睡时间"/>
+ <lanstr id="STR_WALKTIME" value="醒来时间"/>
+ <lanstr id="STR_DISTURB" value="手表将在20分钟后开启勿扰模式,关闭请到控制中心"/>
+ <lanstr id="STR_DISTURBNOTE" value="已开启勿扰模式,此模式下手表将不会发出震动与铃声"/>
+ <lanstr id="STR_MORNNING" value="早安"/>
+ <lanstr id="STR_NOW" value="当前"/>
+ <lanstr id="STR_NAP" value="小睡(5分钟)"/>
+ <lanstr id="STR_TACK" value="请先打开app,进入“设备”-“拍照”"/>
+ <lanstr id="STR_CLICK" value="点击拍照"/>
+ <lanstr id="STR_TACKNUM" value="已拍摄XX张"/>
<lanstr id="STR_HEART_RATE" value="心率"/>
<lanstr id="STR_BLOOD_OXYGEN" value="血氧"/>
<lanstr id="STR_TRAINING" value="训练"/>
STR_EXERCISE_KETTLEBELLTRAINING = 238,\r
STR_EXTREME_ORIENTEERING = 239,\r
STR_INSUFFICIENT_EXERCISE_AMOUNT = 240,\r
- STR_BLOOD_OXYGEN = 241,\r
- STR_TRAINING_RECORD = 242,\r
- STR_COMPASS = 243,\r
- STR_PHONE = 244,\r
- STR_FAVORITE_CONTACTS = 245,\r
- STR_WEATHER = 246,\r
- STR_ACTIVITY = 247,\r
- STR_WATCH_FACE = 248,\r
- STR_DISPLAY_MODE = 249,\r
- STR_CARD_MANAGEMENT = 250,\r
- STR_MUSIC = 251,\r
- STR_SLEEP = 252,\r
- STR_RECORDING = 253,\r
- STR_BREATH_TRAINING = 254,\r
- STR_REMOTE_SHOOTING = 255,\r
- STR_VOICE_ASSISTANT = 256,\r
- STR_ALIPAY = 257,\r
- STR_TIMER = 258,\r
- STR_ALARM = 259,\r
- STR_STOPWATCH = 260,\r
- STR_CALCULATOR = 261,\r
- STR_FIND_PHONE = 262,\r
- STR_BRIGHTNESS_ADJUSTMENT = 263,\r
- STR_SOUND = 264,\r
- STR_BLUETOOTH = 265,\r
- STR_DO_NOT_DISTURB = 266,\r
- STR_MESSAGE_NOTIFICATION = 267,\r
- STR_POWER_SAVE_MODE = 268,\r
- STR_FLASHLIGHT = 269,\r
- STR_SETTINGS = 270,\r
- STR_SCREEN_AND_BRIGHTNESS = 271,\r
- STR_NETWORKANDCALL = 272,\r
- STR_SOUND_AND_VIBRATION = 273,\r
- STR_MOTION_RECOGNITION = 274,\r
- STR_SYSTEM = 275,\r
- STR_SHUTDOWN_AND_RESTART = 276,\r
- STR_SCREEN_ON_DURATION = 277,\r
- STR_RAISE_TO_WAKE = 278,\r
- STR_5_SECONDS = 279,\r
- STR_10_SECONDS = 280,\r
- STR_15_SECONDS = 281,\r
- STR_30_SECONDS = 282,\r
- STR_60_SECONDS = 283,\r
- STR_300_SECONDS = 284,\r
- STR_4G_CAPABILITY = 285,\r
- STR_VOLTE_CALL = 286,\r
- STR_MOBILE_DATA_OPTION = 287,\r
- STR_SYSTEM_UPDATE = 288,\r
- STR_ONLINE_MUSIC = 289,\r
- STR_BLUETOOTH_HEADPHONES = 290,\r
- STR_TRADITIONAL_BLUETOOTH = 291,\r
- STR_AUTO_OFF_BLUETOOTH_NOTE = 292,\r
- STR_BLUETOOTH_SERVICE_OPTIONS = 293,\r
- STR_HFP = 294,\r
- STR_A2DP = 295,\r
- STR_SYSTEM_VOLUME = 296,\r
- STR_MEDIA_VOLUME = 297,\r
- STR_VIBRATION_MODE = 298,\r
- STR_SILENT_MODE = 299,\r
- STR_LIST_DISPLAY = 300,\r
- STR_GRID_DISPLAY = 301,\r
- STR_CELLULAR_DISPLAY = 302,\r
- STR_AUTO_DETECT = 303,\r
- STR_ABOUT_WATCH = 304,\r
- STR_WATCH_QR_CODE = 305,\r
- STR_SYSTEM_LANGUAGE = 306,\r
- STR_RESTART = 307,\r
- STR_SHUTDOWN = 308,\r
- STR_FACTORY_RESET = 309,\r
- STR_WATCH_NAME = 310,\r
- STR_FIRMWARE_VERSION = 311,\r
- STR_BLUETOOTH_NAME = 312,\r
- STR_BLUETOOTH_ADDRESS = 313,\r
- STR_LATEST_VERSION = 314,\r
- STR_LATER = 315,\r
- STR_UP_TO_DATE = 316,\r
- STR_NO_UPDATE = 317,\r
- STR_LANGUAGE_SELECTION = 318,\r
- STR_RESET_CONFIRM = 319,\r
- STR_SHUTDOWN_CONFIRM = 320,\r
- STR_RESET_CONFIRM_NOTE = 321,\r
- STR_MAX_ID = 322,\r
+ STR_RANGE_MILE = 241,\r
+ STR_CLOSE = 242,\r
+ STR_MORE_APP = 243,\r
+ STR_SAVENOTE = 244,\r
+ STR_SAVEBACK = 245,\r
+ STR_SAVEASK = 246,\r
+ STR_BLOOD = 247,\r
+ STR_CHECK = 248,\r
+ STR_CHECKNEW = 249,\r
+ STR_CHECKTIME = 250,\r
+ STR_CHECKLONG = 251,\r
+ STR_CHECKNO = 252,\r
+ STR_CHECKNOTE = 253,\r
+ STR_CHECKON = 254,\r
+ STR_CHECKSTOP = 255,\r
+ STR_CHECKERROR = 256,\r
+ STR_WAERKEEP = 257,\r
+ STR_WEARRE = 258,\r
+ STR_WEARREADY = 259,\r
+ STR_RECHECK = 260,\r
+ STR_CHECKEWARN = 261,\r
+ STR_BLOODSHORT = 262,\r
+ STR_HEARTNOTE = 263,\r
+ STR_KONW = 264,\r
+ STR_EXPLAIN = 265,\r
+ STR_HEARTREST = 266,\r
+ STR_HEARTDATA = 267,\r
+ STR_HEARTTITLE = 268,\r
+ STR_HEARTMAX = 269,\r
+ STR_HEARTMIN = 270,\r
+ STR_TRAINGNO = 271,\r
+ STR_TRAINGGO = 272,\r
+ STR_MESSAGE = 273,\r
+ STR_MESSAGENO = 274,\r
+ STR_DIS = 275,\r
+ STR_DUR = 276,\r
+ STR_STANDUP = 277,\r
+ STR_SLEEP = 278,\r
+ STR_SLEEPHOUR = 279,\r
+ STR_SLEEPMGOAL = 280,\r
+ STR_REATTIME = 281,\r
+ STR_SLEEPTIME = 282,\r
+ STR_WALKTIME = 283,\r
+ STR_DISTURB = 284,\r
+ STR_DISTURBNOTE = 285,\r
+ STR_MORNNING = 286,\r
+ STR_NOW = 287,\r
+ STR_NAP = 288,\r
+ STR_TACK = 289,\r
+ STR_CLICK = 290,\r
+ STR_TACKNUM = 291,\r
+ STR_BLOOD_OXYGEN = 292,\r
+ STR_TRAINING_RECORD = 293,\r
+ STR_COMPASS = 294,\r
+ STR_PHONE = 295,\r
+ STR_FAVORITE_CONTACTS = 296,\r
+ STR_WEATHER = 297,\r
+ STR_ACTIVITY = 298,\r
+ STR_WATCH_FACE = 299,\r
+ STR_DISPLAY_MODE = 300,\r
+ STR_CARD_MANAGEMENT = 301,\r
+ STR_MUSIC = 302,\r
+ STR_RECORDING = 303,\r
+ STR_BREATH_TRAINING = 304,\r
+ STR_REMOTE_SHOOTING = 305,\r
+ STR_VOICE_ASSISTANT = 306,\r
+ STR_ALIPAY = 307,\r
+ STR_TIMER = 308,\r
+ STR_ALARM = 309,\r
+ STR_STOPWATCH = 310,\r
+ STR_CALCULATOR = 311,\r
+ STR_FIND_PHONE = 312,\r
+ STR_BRIGHTNESS_ADJUSTMENT = 313,\r
+ STR_SOUND = 314,\r
+ STR_BLUETOOTH = 315,\r
+ STR_DO_NOT_DISTURB = 316,\r
+ STR_MESSAGE_NOTIFICATION = 317,\r
+ STR_POWER_SAVE_MODE = 318,\r
+ STR_FLASHLIGHT = 319,\r
+ STR_SETTINGS = 320,\r
+ STR_SCREEN_AND_BRIGHTNESS = 321,\r
+ STR_NETWORKANDCALL = 322,\r
+ STR_SOUND_AND_VIBRATION = 323,\r
+ STR_MOTION_RECOGNITION = 324,\r
+ STR_SYSTEM = 325,\r
+ STR_SHUTDOWN_AND_RESTART = 326,\r
+ STR_SCREEN_ON_DURATION = 327,\r
+ STR_RAISE_TO_WAKE = 328,\r
+ STR_5_SECONDS = 329,\r
+ STR_10_SECONDS = 330,\r
+ STR_15_SECONDS = 331,\r
+ STR_30_SECONDS = 332,\r
+ STR_60_SECONDS = 333,\r
+ STR_300_SECONDS = 334,\r
+ STR_4G_CAPABILITY = 335,\r
+ STR_VOLTE_CALL = 336,\r
+ STR_MOBILE_DATA_OPTION = 337,\r
+ STR_SYSTEM_UPDATE = 338,\r
+ STR_ONLINE_MUSIC = 339,\r
+ STR_BLUETOOTH_HEADPHONES = 340,\r
+ STR_TRADITIONAL_BLUETOOTH = 341,\r
+ STR_AUTO_OFF_BLUETOOTH_NOTE = 342,\r
+ STR_BLUETOOTH_SERVICE_OPTIONS = 343,\r
+ STR_HFP = 344,\r
+ STR_A2DP = 345,\r
+ STR_SYSTEM_VOLUME = 346,\r
+ STR_MEDIA_VOLUME = 347,\r
+ STR_VIBRATION_MODE = 348,\r
+ STR_SILENT_MODE = 349,\r
+ STR_LIST_DISPLAY = 350,\r
+ STR_GRID_DISPLAY = 351,\r
+ STR_CELLULAR_DISPLAY = 352,\r
+ STR_AUTO_DETECT = 353,\r
+ STR_ABOUT_WATCH = 354,\r
+ STR_WATCH_QR_CODE = 355,\r
+ STR_SYSTEM_LANGUAGE = 356,\r
+ STR_RESTART = 357,\r
+ STR_SHUTDOWN = 358,\r
+ STR_FACTORY_RESET = 359,\r
+ STR_WATCH_NAME = 360,\r
+ STR_FIRMWARE_VERSION = 361,\r
+ STR_BLUETOOTH_NAME = 362,\r
+ STR_BLUETOOTH_ADDRESS = 363,\r
+ STR_LATEST_VERSION = 364,\r
+ STR_LATER = 365,\r
+ STR_UP_TO_DATE = 366,\r
+ STR_NO_UPDATE = 367,\r
+ STR_LANGUAGE_SELECTION = 368,\r
+ STR_RESET_CONFIRM = 369,\r
+ STR_SHUTDOWN_CONFIRM = 370,\r
+ STR_RESET_CONFIRM_NOTE = 371,\r
+ STR_MAX_ID = 372,\r
}; // UIResourceTextId\r
enum FontLanguageId : uint8_t {
LANGUAGE_ID_JA,\r
- LANGUAGE_ID_EN,\r
LANGUAGE_ID_ZH,\r
+ LANGUAGE_ID_EN,\r
LANGUAGE_ID_MAX\r
}; // UITextLanguageTextId\r
}\r
lackView->SetReboundSize(50);
lackView->SetDirection(1);
/*初始化label*/
- InitLabelDefault(labeltitle, 83, 50, 300, 35, "labletitle", "通知");
- InitLabelDefault(labelmeage, 53, 276, 360, 40, "labelrecord", "暂无内容");
+ InitLabelExt(labeltitle, 83, 50, 300, 35, "labletitle", STR_MESSAGE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelmeage, 53, 276, 360, 40, "labelrecord", STR_MESSAGENO, DEFAULT_VECTOR_FONT_FILENAME, 30);
labelmeage->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));
/*初始化image*/
InitImageView(imageline, 193, 30, 365, 35, "image", lineimagePath);
--- /dev/null
+/***
+ * @Date: 2024-04-23 17:54:29
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-04-23 17:55:36
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/traing/TrainingType.h
+ */
+#ifndef TRAINING_TYPE_H
+#define TRAINING_TYPE_H
+#include "traing/include/TraingModel.h"
+#include "uicomponents/UIComponents.h"
+namespace OHOS
+{
+#define MAX_TAININGNUM 176
+
+ struct training_data
+ {
+ Exercisetype sporttype; // 运动类
+ UIResourceTextId sportId; // 运动项目
+ ExerciseClass sport_cywee; // 在cywee里面对应的类型
+ };
+
+ training_data tainging_indetail_data[MAX_TAININGNUM] =
+ {
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_FREETRAINING, ExerciseClass::FREE_TRAINING}, // 自由训练
+ {Exercisetype::FITNESS, STR_EXERCISE_RESISTANCETRAINING, ExerciseClass::FREE_TRAINING}, // 肌力训练
+ {Exercisetype::FITNESS, STR_EXERCISE_SPINBIKE, ExerciseClass::FREE_TRAINING}, // 飞轮车/室内健身车
+ {Exercisetype::FITNESS, STR_EXERCISE_TREADMILL, ExerciseClass::FREE_TRAINING}, // 踏步机
+ {Exercisetype::FITNESS, STR_EXERCISE_STROLLMACHINE, ExerciseClass::FREE_TRAINING}, // 漫步机
+ {Exercisetype::FITNESS, STR_EXERCISE_HIIT, ExerciseClass::FREE_TRAINING}, // 高强度间歇训练
+ {Exercisetype::FITNESS, STR_EXERCISE_CROSSFIT, ExerciseClass::FREE_TRAINING}, // 健身
+ {Exercisetype::FITNESS, STR_EXERCISE_GROUPCALISTHENICS, ExerciseClass::FREE_TRAINING}, // 团体操
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGA, ExerciseClass::FREE_TRAINING}, // 瑜珈
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGACAT, ExerciseClass::FREE_TRAINING}, // 瑜珈猫式
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGACOW, ExerciseClass::FREE_TRAINING}, // 瑜珈牛式
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGACOBRA, ExerciseClass::FREE_TRAINING}, // 瑜珈眼镜蛇式
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGAHERO1, ExerciseClass::FREE_TRAINING}, // 瑜珈英雄式1
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGAHERO2, ExerciseClass::FREE_TRAINING}, // 瑜珈英雄式2
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGAHERO3, ExerciseClass::FREE_TRAINING}, // 瑜珈英雄式3
+ {Exercisetype::FITNESS, STR_EXERCISE_YOGAROLLING, ExerciseClass::FREE_TRAINING}, // 瑜珈滚轮
+
+ {Exercisetype::FITNESS, STR_EXERCISE_OUTDOORWALKING, ExerciseClass::FREE_TRAINING}, // 室外走路
+ {Exercisetype::FITNESS, STR_EXERCISE_OUTDOORRUNNING, ExerciseClass::OUTDOOR}, // 室外跑步
+ {Exercisetype::FITNESS, STR_EXERCISE_INDOORWALKING, ExerciseClass::FREE_TRAINING}, // 室内走路
+ {Exercisetype::FITNESS, STR_EXERCISE_INDOORRUNNING, ExerciseClass::INDOOR}, // 室内跑步
+ {Exercisetype::FITNESS, STR_EXERCISE_OUTDOORBIKING, ExerciseClass::FREE_TRAINING}, // 室外骑行
+
+ {Exercisetype::FITNESS, STR_EXERCISE_JUMPINGROPE, ExerciseClass::FREE_TRAINING}, // 跳绳
+ {Exercisetype::FITNESS, STR_EXERCISE_PILATES, ExerciseClass::FREE_TRAINING}, // 皮拉提斯
+ {Exercisetype::FITNESS, STR_EXERCISE_CROSS_FIT, ExerciseClass::FREE_TRAINING}, // 混合健身
+ {Exercisetype::FITNESS, STR_EXERCISE_FUNCTIONALTRAINING, ExerciseClass::FREE_TRAINING}, // 功能性训练
+ {Exercisetype::FITNESS, STR_EXERCISE_PHYSICALTRAINING, ExerciseClass::FREE_TRAINING}, // 体能训练
+ {Exercisetype::FITNESS, STR_EXERCISE_TAEKWONDO, ExerciseClass::FREE_TRAINING}, // 跆拳道/踢拳
+ {Exercisetype::FITNESS, STR_EXERCISE_BOXING, ExerciseClass::FREE_TRAINING}, // 拳击
+ {Exercisetype::FITNESS, STR_EXERCISE_KICKBOXING, ExerciseClass::FREE_TRAINING}, // 自由搏击
+ {Exercisetype::FITNESS, STR_EXERCISE_KARATE, ExerciseClass::FREE_TRAINING}, // 空手道
+ {Exercisetype::FITNESS, STR_EXERCISE_FENCING, ExerciseClass::FREE_TRAINING}, // 击剑
+ {Exercisetype::FITNESS, STR_EXERCISE_CORETRAINING, ExerciseClass::FREE_TRAINING}, // 核心训练
+ {Exercisetype::FITNESS, STR_EXERCISE_BODYCOMBAT, ExerciseClass::FREE_TRAINING}, // 拳击有氧
+ {Exercisetype::FITNESS, STR_EXERCISE_KENDO, ExerciseClass::FREE_TRAINING}, // 剑道
+ {Exercisetype::FITNESS, STR_EXERCISE_HORIZONTALBAR, ExerciseClass::FREE_TRAINING}, // 单杠
+ {Exercisetype::FITNESS, STR_EXERCISE_PARALLELBARS, ExerciseClass::FREE_TRAINING}, // 双杠
+ {Exercisetype::FITNESS, STR_EXERCISE_CIRCUIT, ExerciseClass::FREE_TRAINING}, // 循环训练
+ {Exercisetype::FITNESS, STR_EXERCISE_AEROBICS, ExerciseClass::FREE_TRAINING}, // 有氧运动
+ {Exercisetype::FITNESS, STR_EXERCISE_CALISTHENICE, ExerciseClass::FREE_TRAINING}, // 健美操
+ {Exercisetype::FITNESS, STR_EXERCISE_P90X, ExerciseClass::FREE_TRAINING}, // P90X
+ {Exercisetype::FITNESS, STR_EXERCISE_KETTLEBELLTRAINING, ExerciseClass::FREE_TRAINING}, // 壶铃训练
+ {Exercisetype::FITNESS, STR_EXERCISE_MIXEDMARTIALARTS, ExerciseClass::FREE_TRAINING}, // 综合格斗
+ {Exercisetype::FITNESS, STR_EXERCISE_STAIRCLIMBINGMACHINE, ExerciseClass::FREE_TRAINING}, // 爬楼梯机
+ {Exercisetype::FITNESS, STR_EXERCISE_WEIGHTLIFTING, ExerciseClass::FREE_TRAINING}, // 举重
+ {Exercisetype::FITNESS, STR_EXERCISE_BARRE, ExerciseClass::FREE_TRAINING}, // Barre
+ {Exercisetype::FITNESS, STR_EXERCISE_HANDCYCLING, ExerciseClass::FREE_TRAINING}, // 手轮
+ {Exercisetype::FITNESS, STR_EXERCISE_TRACKFIELD, ExerciseClass::FREE_TRAINING}, // 田径
+ {Exercisetype::FITNESS, STR_EXERCISE_WRESTLING, ExerciseClass::FREE_TRAINING}, // 角力
+ {Exercisetype::FITNESS, STR_EXERCISE_MINDBODY, ExerciseClass::FREE_TRAINING}, // 身心运动
+ {Exercisetype::FITNESS, STR_EXERCISE_FLEXIBILITY, ExerciseClass::FREE_TRAINING}, // 柔软操
+ {Exercisetype::FITNESS, STR_EXERCISE_MIXEDCARDIO, ExerciseClass::FREE_TRAINING}, // 混和有氧
+ {Exercisetype::FITNESS, STR_EXERCISE_TRADITIONALSTRENGTHTRAINING, ExerciseClass::FREE_TRAINING}, // 传统肌力训练
+ {Exercisetype::FITNESS, STR_EXERCISE_CROSSTRAINING, ExerciseClass::FREE_TRAINING}, // 交叉训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GYMNASTICS, ExerciseClass::FREE_TRAINING}, // 体操
+ {Exercisetype::FITNESS, STR_EXERCISE_STEPTRAINING, ExerciseClass::FREE_TRAINING}, // 阶梯训练
+ {Exercisetype::FITNESS, STR_EXERCISE_ELLIPTICALTRAINER, ExerciseClass::FREE_TRAINING}, // 椭圆机
+ {Exercisetype::FITNESS, STR_EXERCISE_ROWINGMACHINE, ExerciseClass::FREE_TRAINING}, // 划船机
+
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ {Exercisetype::FITNESS, STR_EXERCISE_GENERAL, ExerciseClass::FREE_TRAINING}, // 一般训练
+ };
+}
+#endif
\ No newline at end of file
InitLabel(labeltype, 188, 52, 90, 35, "label1", "健身类", DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabel(labelsport, 147, 140, 240, 35, "label6", "健走", DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabel(labelduration, 146, 179, 240, 40, "label7", "13:00:22-15:00:12", DEFAULT_VECTOR_FONT_FILENAME, 28);
- InitLabel(labelutag, 146, 252, 240, 40, "label8", "目标完成度", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelutime, 146, 382, 240, 40, "label9", "训练时长", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelumile, 146, 512, 240, 40, "label10", "距离(米)", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labeluheart, 146, 642, 240, 40, "label11", "平均心率(次/分)", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelusteps, 146, 772, 240, 40, "label12", "步数", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelustrong, 146, 902, 240, 40, "label2", "训练强度", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelnote, 80, 1024, 300, 40, "label8", "更多请前往APP查看", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelutag, 146, 252, 240, 40, "label8",STR_GOAL_ACCOMPLISHMENT_DEGREE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelutime, 146, 382, 240, 40, "label9", STR_TRAINING_DURATION, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelumile, 146, 512, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeluheart, 146, 642, 240, 40, "label11",STR_MEAN_HEART_RATE_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelusteps, 146, 772, 240, 40, "label12",STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelustrong, 146, 902, 240, 40, "label2", STR_TRAINING_INTENSITY, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelnote, 80, 1024, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30);
// 设置文本颜色
labelduration->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0x7f));
scrollView_->Add(labelsteps);
// 初始化button
- InitButtonExt(buttonexit, 42, 1111, 380, 100, BUTTONBACK, STR_OFF, 30);
+ InitButtonExt(buttonexit, 42, 1111, 380, 100, BUTTONBACK, STR_CLOSE, 30);
buttonexit->SetOnClickListener(static_cast<UIView::OnClickListener *>(TraingEnddataPresenter::GetInstance()));
scrollView_->Add(buttonexit);
}
{
sportdata->duration = g_motionTimes; // 训练时长
/*判断是否开启自动获取*/
- if (ConfigModel::GetInstance()->get_configData_bool(ConfigModel::CONFIGMODEL_ITEM_TRANING_AUTO))
+ if (ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_AUTO))
{
freq = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRANING_FREQ);
PRINT("freq%d\r\n", freq); // 获取实时数据频率
// 初始化Lable\r
UIResourceTextId sportid = TraingModel::GetInstance()->GetSportEvent();\r
InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", sportid, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabel(labelTime, 100, 150, 150, 35, "label2", "时长", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabel(labelKcal, 100, 270, 150, 35, "label4", "卡路里", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabel(labelDistance, 100, 390, 150, 35, "label3", "距离", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabel(labelSteps, 100, 510, 150, 35, "label5", "步数", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelTime, 100, 150, 150, 35, "label2", STR_DURATION, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelKcal, 100, 270, 150, 35, "label4", STR_CALORIE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelDistance, 100, 390, 150, 35, "label3", STR_DISTANCE, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelSteps, 100, 510, 150, 35, "label5", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
SetTagScrollView[SET_VIEW]->Add(labeltitle);\r
SetTagScrollView[SET_VIEW]->Add(labelTime);\r
SetCaluliScrollView->SetVerticalScrollState(false); // 禁止垂直滑动
/* -------------------------------------------------------------------------- */
// 初始化Lable
- InitLabel(labeltitle_, 83, 50, 300, 35, "label1", "卡路里(千卡)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeltitle_, 83, 50, 300, 35, "label1",STR_CALORIE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
SetCaluliScrollView->Add(labeltitle_);
// 初始化UIPicker
SetMileScrollView->SetVerticalScrollState(false); // 禁止垂直滑动
/* -------------------------------------------------------------------------- */
// 初始化Lable
- InitLabel(labeltitle_, 83, 50, 300, 35, "label1", "距离(公里)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeltitle_, 83, 50, 300, 35, "label1",STR_RANGE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
SetMileScrollView->Add(labeltitle_);
// 初始化UIPicker
SetStepScrollView->SetVerticalScrollState(false); // 禁止垂直滑动
/* -------------------------------------------------------------------------- */
// 初始化Lable
- InitLabel(labeltitle_, 83, 50, 300, 35, "label1", "步数(步)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeltitle_, 83, 50, 300, 35, "label1", STR_STEP_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
SetStepScrollView->Add(labeltitle_);
// 初始化UIPicker
SetTimeScrollView->SetVerticalScrollState(false); // 禁止垂直滑动
/* -------------------------------------------------------------------------- */
// 初始化Lable
- InitLabel(labeltitle_, 83, 50, 300, 35, "label1", "时长(分钟)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeltitle_, 83, 50, 300, 35, "label1", STR_DURATION_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
SetTimeScrollView->Add(labeltitle_);
// 初始化UIPicker
endView->SetReboundSize(50);\r
endView->SetDirection(1);\r
\r
- InitLabel(endtitle, 83, 50, 300, 35, "label1", "注意", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
- InitLabel(notelabel, 56, 167, 360, 80, "label2", "当前运动量过少,无法记录 是否结束运动", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(endtitle, 83, 50, 300, 35, "label1", STR_LOOK_OUT, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(notelabel, 56, 167, 360, 80, "label2", STR_INSUFFICIENT_EXERCISE_AMOUNT, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
\r
endView->Add(endtitle);\r
endView->Add(notelabel);\r
getView->SetDirection(1);\r
\r
// 初始化Lable\r
- InitLabel(labeltitle, 83, 50, 300, 35, "label1", "目标已达成", DEFAULT_VECTOR_FONT_FILENAME, 35);\r
+ InitLabelExt(labeltitle, 83, 50, 300, 35, "label1",STR_GOAL_ACHIEVED, DEFAULT_VECTOR_FONT_FILENAME, 35);\r
getView->Add(labeltitle);\r
- InitLabel(labelgettag, 103, 307, 200, 35, "label3", "完成目标", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ InitLabelExt(labelgettag, 103, 307, 200, 35, "label3", STR_ACCOMPLISH_GOAL, DEFAULT_VECTOR_FONT_FILENAME, 30);\r
getView->Add(labelgettag);\r
InitLabel(labelpre, 233, 307, 160, 35, "label3", "100%", DEFAULT_VECTOR_FONT_FILENAME, 30);\r
getView->Add(labelpre);\r
heartView->SetDirection(1);\r
\r
// 初始化Lable\r
- InitLabel(hearttitle, 83, 50, 300, 35, "label1", "心率提醒", DEFAULT_VECTOR_FONT_FILENAME, 35);\r
+ InitLabelExt(hearttitle, 83, 50, 300, 35, "label1", STR_HEARTTITLE, DEFAULT_VECTOR_FONT_FILENAME, 35);\r
heartView->Add(hearttitle);\r
\r
int maxheart = ConfigModel::GetInstance()->get_configData_int(ConfigModel::CONFIGMODEL_ITEM_TRAINING_HEART_MAX);\r
Add(buttonStop);
// 初始化Lable
- InitLabel(labeltitle, 83, 50, 300, 35, "label1", "训练中", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", STR_TRAINING_IN_PROGRESS, DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabel(labeltimer, 78, 110, 290, 80, "label2", "00:00:00", DEFAULT_VECTOR_FONT_FILENAME, 65);
- InitLabel(labelend, 81, 330, 130, 35, "label3", "结束", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(labelstop, 251, 330, 130, 35, "label4", "暂停", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelend, 81, 330, 130, 35, "label3", STR_FINISH, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelstop, 251, 330, 130, 35, "label4", STR_PAUSE, DEFAULT_VECTOR_FONT_FILENAME, 30);
Add(labeltitle);
Add(labeltimer);
Add(labelend);
Add(lineimage2_);
// 初始化Lable
- InitLabel(u_milelabel, 16, 234, 220, 35, "label2", "距离(公里)", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(u_stepslabel, 73, 362, 320, 35, "label3", "步数", DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabel(u_calorielabel, 225, 235, 230, 35, "label4", "卡路里(千卡)", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(u_milelabel, 16, 234, 220, 35, "label2",STR_RANGE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(u_stepslabel, 73, 362, 320, 35, "label3", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(u_calorielabel, 225, 235, 230, 35, "label4",STR_CALORIE_SETTING, DEFAULT_VECTOR_FONT_FILENAME, 30);
u_milelabel->SetTextColor(Color::Gray());
u_stepslabel->SetTextColor(Color::Gray());
u_calorielabel->SetTextColor(Color::Gray());
lackView->SetReboundSize(50);
lackView->SetDirection(1);
/*初始化label*/
- InitLabelDefault(labeltitle_, 83, 50, 300, 35, "labletitle", "训练记录");
- InitLabelDefault(labelrecord_, 53, 260, 360, 40, "labelrecord", "无记录");
+ InitLabelExt(labeltitle_, 83, 50, 300, 35, "labletitle", STR_TRAINGNO, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelrecord_, 53, 260, 360, 40, "labelrecord", STR_TRAINGGO, DEFAULT_VECTOR_FONT_FILENAME, 30);
/*初始化image*/
InitImageView(imagerecord, 174, 120, 118, 120, "image", RECOED_IMAGE);
/*初始化按键*/
{
InitLabel(label, x, y, width, height, viewId, text, fontName, fontSize);
}
+
+ /*更新label的数字*/
+ void UpdateLabel(UILabelExt *&label, int num)
+ {
+ std::string str = label->GetText();
+ std::string numStr = std::to_string(num);
+ printf("UpdateLabel:%s->%d\r\n", str.c_str(), num);
+
+ // 找到标志"XX"在字符串中的位置
+ size_t pos = str.find("XX");
+ if (pos != std::string::npos)
+ {
+ // 替换标志"XX"为数字字符串
+ str.replace(pos, 2, numStr); // 2 是标志"XX"的长度
+ }
+
+ label->SetText(str.c_str());
+ }
+
+ /*更新label的字符串*/
+ void UpdateLabel(UILabelExt *&label, const std::string updatestr)
+ {
+ std::string str = label->GetText();
+ printf("UpdateLabel:%s->%s\r\n", str.c_str(), updatestr.c_str());
+ // 找到标志"XX"在字符串中的位置
+ size_t pos = str.find("XX");
+ if (pos != std::string::npos)
+ {
+ // 替换标志"XX"为数字字符串
+ str.replace(pos, 2, updatestr); // 2 是标志"XX"的长度
+ }
+
+ label->SetText(str.c_str());
+ }
}
\ No newline at end of file
+/***
+ * @Date: 2024-04-25 10:56:15
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-05-06 18:24:03
+ * @FilePath: /XTS_FD230/FD230/code/sdk/application/wearable/fd230app/nativeui/uicomponents/UIComponents.h
+ */
/***
* @Date: 2024-04-23 16:04:31
* @LastEditors: Caisking 3449750381@qq.com
/*InitLabel[默认参数]*/
void InitLabelDefault(UILabelExt *&label, int x, int y, int width, int height, const char *viewId, const char *text, int fontSize = 30, const char *fontName = DEFAULT_VECTOR_FONT_FILENAME);
+ /*更新label的数字*/
+ void UpdateLabel(UILabelExt *&label, int num);
+ /*更新label的字符串*/
+ void UpdateLabel(UILabelExt *&label, const std::string updatestr);
+
}
#endif // UICOMPONENTS_H
\ No newline at end of file