AssistantScrollView[ASSISTANT_MAIN_VIEW]->SetStyle(STYLE_BACKGROUND_COLOR,
Color::Black().full);
//初始化label TODO::多国语言
- InitLabel(noteLabel, 53, 339, 360, 35, "label", "点击唤醒语音助手", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabel(noteLabel, 53, 339, 360, 35, "label", "点击唤醒语音助手", DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
//初始化button
InitButton(wakeButton, 128, 91, 210, 210, WAKE_ASSISTANT);
wakeButton->SetImageSrc(WAKE_IMAGE, WAKE_IMAGE);
// 设置位置
batteryicon->SetPosition(186, 52, 100, 100);
- batteryiamge->SetPosition(173, 52, 100, 100);
+ batteryiamge->SetPosition(176, 52, 100, 100);
- batteryprogress->SetPosition(180, 58, 30, 18);
+ batteryprogress->SetPosition(182, 58, 30, 18);
batteryprogress->SetViewId("progress");
batteryprogress->SetBackgroundStyle(STYLE_BACKGROUND_COLOR, 0xffffffff);
batteryprogress->SetBackgroundStyle(STYLE_BACKGROUND_OPA, 0x00);
void handleLowHeartRate();\r
void handleHighHeartRate();\r
\r
+ void heart_start_screen60s_timer(uint32_t interval = 30 * 1000);\r
+ void heart_stop_screen60s_timer();\r
+ void reset_heart_screen60s_timer_time();\r
+\r
private:\r
HealthAllDatas healthDatas;\r
uint16_t pretime{0};\r
bool wearStatus{true};\r
uint16_t index_ = 0;\r
\r
- uint16_t displayheart = 0; // 显示心率\r
- uint16_t currentheart = 0; // 保存心率\r
+ uint16_t displayheart = 0; // 显示心率\r
+ uint16_t currentheart = 0; // 保存心率\r
uint16_t displayheart_max = 0; // 显示最大心率\r
uint16_t displayheart_min = 0; // 显示最小心率\r
\r
- uint32 timestamp_ms; // 检测时间(存(时、分),大于24小时,改为1天前,小于1分钟为刚刚)\r
+ uint32\r
+ timestamp_ms; // 检测时间(存(时、分),大于24小时,改为1天前,小于1分钟为刚刚)\r
\r
bool initstatus = true;\r
bool heartstate = false;\r
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "HeartChartPresenter::HeartChartPresenter");
g_pHeartChartPresenter = this;
- display_time = DisplayBrightnessModel::GetInstance()->GetScreenDurationTime();
- display_api->set_screen_auto_off_timeout(300 * 1000); // 设置常亮
#ifdef MEM_CHECK
MemCheck::GetInstance()->EnableLeakCheck(true);
#endif
HeartChartPresenter::~HeartChartPresenter()
{
- display_api->set_screen_auto_off_timeout(display_time); // 恢复
g_pHeartChartPresenter = nullptr;
#ifdef MEM_CHECK
MemCheck::GetInstance()->EnableLeakCheck(false);
uheart_->SetTextColor(Color::GetColorFromRGBA(0x99, 0x99, 0x99, 0xff));
//上一次检测信息
InitLabel(lastheart_, 53, 130, 360, 35, "label", "--",
- DEFAULT_VECTOR_FONT_FILENAME, 30);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
//最小心率 不居中
InitLabelAdapt(minheart_, 293, 380, 200, 35, "label", "--",
- DEFAULT_VECTOR_FONT_FILENAME, 35);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 35);
//最大心率 不居中
InitLabelAdapt(maxheart_, 158, 380, 200, 35, "label", "--",
- DEFAULT_VECTOR_FONT_FILENAME, 35);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 35);
//动态心率最大
InitLabel(maxheart_dynamic_, 30, 190, 50, 20, "label", "220",
- DEFAULT_VECTOR_FONT_FILENAME, 20);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 20);
maxheart_dynamic_->SetTextColor(
Color::GetColorFromRGBA(0x33, 0x33, 0x33, 0xff));
//动态心率3/4
InitLabel(maxheart_dynamic_3_, 30, 218, 50, 20, "label", "160",
- DEFAULT_VECTOR_FONT_FILENAME, 20);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 20);
maxheart_dynamic_3_->SetTextColor(
Color::GetColorFromRGBA(0x33, 0x33, 0x33, 0xff));
//动态心率2/4
InitLabel(maxheart_dynamic_2_, 30, 247, 50, 20, "label", "110",
- DEFAULT_VECTOR_FONT_FILENAME, 20);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 20);
maxheart_dynamic_2_->SetTextColor(
Color::GetColorFromRGBA(0x33, 0x33, 0x33, 0xff));
//动态心率1/4
InitLabel(maxheart_dynamic_1_, 30, 277, 50, 20, "label", "50",
- DEFAULT_VECTOR_FONT_FILENAME, 20);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 20);
maxheart_dynamic_1_->SetTextColor(
Color::GetColorFromRGBA(0x33, 0x33, 0x33, 0xff));
//动态心率最小
InitLabel(minheart_dynamic_, 30, 306, 50, 20, "label", "0",
- DEFAULT_VECTOR_FONT_FILENAME, 20);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 20);
minheart_dynamic_->SetTextColor(
Color::GetColorFromRGBA(0x33, 0x33, 0x33, 0xff));
#include "heartrate/include/HeartRateView.h"\r
#include "heartrate/include/HeartResultPresenter.h"\r
\r
+#include "ConfigModel.h"\r
#include "DialModelHeartRate.h"\r
#include "custom_runtime.h"\r
#include "custom_utils.h"\r
#include "health_service.h"\r
#include "ppg_service.h"\r
+#include "settings/include/SettingModel.h"\r
+#include "uiservice/include/ui_service.h"\r
+#include "wearable_log.h"\r
#include <algorithm>\r
+#include <bleEvent.h>\r
+#include <cmsis_os.h>\r
+#include <cmsis_os2.h>\r
+#include <custom_utils.h>\r
#include <iostream>\r
#include <memory>\r
+#include <ohos_types.h>\r
#include <random>\r
+#include <service/graphic_service.h>\r
+#include <stdio.h>\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include <sys/stat.h>\r
+#include <unistd.h>\r
\r
#include "battery_hal.h"\r
#include "ui_service.h"\r
uint8_t md = PPG_SERVICE_CMD_TYPE_STOP_PPG_TEST;\r
send_ppg_cmd_msg(md);\r
heartstate = false;\r
+ if (checkstate == HeartCheck::CARDCHECK) {\r
+ //重置传感器状态\r
+ sensorstate = false;\r
+ }\r
// 复原检测状态\r
checkstate = HeartCheck::RESTSTSTE;\r
} else if (state == HeartState::Start && heartstate == false) {\r
sensorstate = true;\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "开始心率检测");\r
// 设置runtime\r
- uapi_dev_runtime_set_heartrate_detect_status(1);\r
+ if (uapi_dev_runtime_get_heartrate_detect_status() == 0) {\r
+ uapi_dev_runtime_set_heartrate_detect_status(1);\r
+ ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON);\r
+ // 主动检测的亮屏60s\r
+ heart_start_screen60s_timer();\r
+ }\r
}\r
}\r
\r
return;\r
}\r
\r
+ // 恢复正常亮屏\r
+ HeartModel::GetInstance()->heart_stop_screen60s_timer();\r
+ // 取消常亮屏\r
+ ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);\r
+\r
//设置runtime\r
uapi_dev_runtime_set_heartrate_detect_status(0);\r
\r
- sensorstate = false;\r
Heart_Result(); // 处理结果\r
+\r
+ //为了防止主界面卡片一直重复开传感器\r
+ if (checkstate != HeartCheck::CARDCHECK) {\r
+ //重置传感器状态\r
+ sensorstate = false;\r
+ }\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "本次心率检测结束");\r
}\r
// 保存检测数据\r
check_string.c_str()); // 打印最终检测结果\r
return check_string;\r
}\r
+\r
+// 声明定时器变量\r
+static osTimerId_t g_screen60s_timer = nullptr;\r
+static uint16_t SCREEN_60S_TIME = 60;\r
+\r
+static void heart_start_screen60s_timer_callbackProc(int data) {\r
+ WEARABLE_LOGE(\r
+ WEARABLE_LOG_MODULE_APP,\r
+ "HeartModel::heart_start_screen60s_timer_callbackProc,time = %d",\r
+ SCREEN_60S_TIME);\r
+ SCREEN_60S_TIME -= 30;\r
+ WEARABLE_LOGE(\r
+ WEARABLE_LOG_MODULE_APP,\r
+ "HeartModel::heart_start_screen60s_timer_callbackProc,time = %d",\r
+ SCREEN_60S_TIME);\r
+ if (SCREEN_60S_TIME <= 0) {\r
+ // 60s后息屏停止定时\r
+ HeartModel::GetInstance()->heart_stop_screen60s_timer();\r
+ // 取消常亮屏\r
+ ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heart_stop_screen60s_timer");\r
+ }\r
+}\r
+static void heart_start_screen60s_timer_callback(int data) {\r
+ GraphicService::GetInstance()->PostGraphicEvent(\r
+ std::bind(heart_start_screen60s_timer_callbackProc, data));\r
+}\r
+void HeartModel::heart_start_screen60s_timer(uint32_t interval) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "HeartModel::heart_start_screen60s_timer");\r
+ /* -------------------------- 1.检查定时器是否已经存在,如果存在则返回\r
+ * ------------------------- */\r
+ if (g_screen60s_timer != nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer already exists!!");\r
+ return;\r
+ }\r
+ /* --------------------------------- 2.创建定时器\r
+ * -------------------------------- */\r
+ g_screen60s_timer =\r
+ osTimerNew((osTimerFunc_t)heart_start_screen60s_timer_callback,\r
+ osTimerPeriodic, nullptr, nullptr);\r
+ // 检查定时器创建是否成功\r
+ if (g_screen60s_timer == nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Timer create failed!!");\r
+ return;\r
+ }\r
+ /* ----------------------------- 3.将毫秒转换为系统时钟节拍数\r
+ * ---------------------------- */\r
+ int tick = osMs2Tick(interval);\r
+ /* --------------------------------- 4.启动定时器\r
+ * -------------------------------- */\r
+ osStatus_t ret = osTimerStart(g_screen60s_timer, tick);\r
+ /* -------------------- 5.检查定时器启动是否成功,如果启动失败,删除定时器并置为\r
+ * nullptr -------------------- */\r
+ if (ret != osOK) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "osTimerDelete failed, ret = %lx!!",\r
+ ret);\r
+ if (g_screen60s_timer != nullptr) {\r
+ ret = osTimerDelete(g_screen60s_timer);\r
+ }\r
+ g_screen60s_timer = nullptr;\r
+ return;\r
+ }\r
+}\r
+void HeartModel::heart_stop_screen60s_timer(void) {\r
+ // 检查定时器是否存在\r
+ if (g_screen60s_timer != nullptr) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "HeartModel::heart_stop_screen60s_timer");\r
+ osTimerStop(g_screen60s_timer);\r
+ // 删除定时器并置为 nullptr\r
+ osStatus_t ret = osTimerDelete(g_screen60s_timer);\r
+ if (ret != osOK) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,\r
+ "osTimerDelete failed, ret = %lx!!", ret);\r
+ }\r
+ g_screen60s_timer = nullptr;\r
+ SCREEN_60S_TIME = 60;\r
+ }\r
+}\r
+void HeartModel::reset_heart_screen60s_timer_time() {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "reset_heart_screen60s_timer_time");\r
+ SCREEN_60S_TIME = 60;\r
+ if (nullptr == g_screen60s_timer) {\r
+ ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); // 重新常亮屏\r
+ heart_start_screen60s_timer(); // 开启定时器\r
+ }\r
+}\r
+\r
} // namespace OHOS\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "~MainPresenterSample");
g_pMainPresenterSample = nullptr;
/*从主界面退出,关闭心率检测*/
-#if HEART_RATE_CHECK_TIMEOUT
HeartModel::GetInstance()->Heart_Control(HeartState::End,
HeartCheck::CARDCHECK);
-#else
- HeartModel::GetInstance()->Heart_Control(HeartState::End,
- HeartCheck::INITIATIVE);
-#endif
}
MainPresenterSample *MainPresenterSample::GetInstance(void)
{
LogCardTransition(previousCardId, currentCardId);
HeartModel::GetInstance()->Heart_Stop();
- HeartModel::GetInstance()->Heart_Control(HeartState::End,HeartCheck::INITIATIVE); //主动检测心率
+ HeartModel::GetInstance()->Heart_Control(HeartState::End,HeartCheck::CARDCHECK); //主动检测心率
}
// 从睡眠卡片跳转到其他卡片时切换到睡眠卡片主界面
opa = OPA_TRANSPARENT; // 如果处于无状态,设置为完全透明\r
}\r
\r
- label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, fontSize);\r
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, fontSize);\r
label_->SetStyle(STYLE_TEXT_OPA, opa); // 更新标签样式\r
}\r
\r
}\r
\r
// 更新标签的字体和样式\r
- label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, fontSize);\r
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, fontSize);\r
label_->SetStyle(STYLE_TEXT_OPA, opa);\r
}\r
\r
\r
// 初始化标签文本和样式\r
label_->SetText(" ");\r
- label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME, LABEL_FONT_SIZE / 2); // 设置字体为一半大小\r
+ label_->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, LABEL_FONT_SIZE / 2); // 设置字体为一半大小\r
label_->SetStyle(STYLE_TEXT_OPA, OPA_OPAQUE); // 设置标签为不透明\r
}\r
\r
batteryprogress->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
\r
batterylabel->SetPosition(228, 54, 200, 60);\r
- batterylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 26);\r
+ batterylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 26);\r
batterylabel->SetTextColor(Color::White());\r
batteryprogress->SetForegroundStyle(STYLE_BACKGROUND_COLOR, 0xffffc300);\r
\r
timelabel->SetTextColor(Color::GetColorFromRGBA(0x49, 0xef, 0x13, 0xff));\r
timelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
timelabel->SetRollSpeed(0);\r
- timelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 100);\r
+ timelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 100);\r
container_->Add(timelabel);\r
\r
/*日期*/\r
datelabel->SetTextColor(Color::GetColorFromRGBA(0x66, 0x66, 0x66, 0xff));\r
datelabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
datelabel->SetRollSpeed(0);\r
- datelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ datelabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 30);\r
container_->Add(datelabel);\r
}\r
void SaveBatView::InitButtonView()\r
curren_label->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
curren_label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
curren_label->SetRollSpeed(0);\r
- curren_label->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+ curren_label->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 40);\r
container_->Add(curren_label);\r
curren_label->SetVisible(false);\r
#if ANIMATION_TEST\r
countlabel->SetLineBreakMode(UILabel::LINE_BREAK_ADAPT);\r
countlabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
countlabel->SetRollSpeed(0);\r
- countlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 40);\r
+ countlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 40);\r
container_->Add(countlabel);\r
countlabel->SetVisible(false);\r
#else\r
CreateLine(verticalline, 232, 191, 2, 82, "verticalline");
/* -------------------------------- title初始化
* -------------------------------- */
+ //TODO:多国语言
InitLabel(naptitle, 83, 90, 300, 35, "resttitle", "小睡数据",
- DEFAULT_VECTOR_FONT_FILENAME, 30);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
InitLabelExt(napsleeptitle, 21, 203, 200, 35, "sleeptitle", STR_SLEEPTIME,
DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabelExt(napwaketitle, 213, 203, 300, 35, "waketitle", STR_WALKTIME,
* ------------------------------- */
napsleepStr = "--";
InitLabel(napsleep, 10, 238, 230, 47, "sleeplabel", napsleepStr.c_str(),
- DEFAULT_VECTOR_FONT_FILENAME, 40);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
napsleep->SetTextColor(Color::GetColorFromRGBA(0x53, 0x20, 0xE2, 0xff));
napwakeStr = "--";
InitLabel(napwake, 245, 238, 230, 47, "wakelabel", napwakeStr.c_str(),
- DEFAULT_VECTOR_FONT_FILENAME, 40);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
napwake->SetTextColor(Color::GetColorFromRGBA(0x53, 0x20, 0xE2, 0xff));
/* --------------------------------------------------------------------------
*/
goaltime->SetTextColor(Color::Gray());
/* ------------------------------- 数据label初始化
* ------------------------------- */
+ //DEFAULT_VECTOR_FONT_FILENAME_EN
restStr = "--";
InitLabel(goal, 83, 90, 300, 50, "restlabel", restStr.c_str(),
- DEFAULT_VECTOR_FONT_FILENAME, 40);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
// goal->SetLineBreakMode(UILabel::LINE_BREAK_ELLIPSIS);
goal->SetTextColor(Color::Gray());
sleepStr = "--";
InitLabel(sleep, 10, 238, 230, 47, "sleeplabel", sleepStr.c_str(),
- DEFAULT_VECTOR_FONT_FILENAME, 40);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
sleep->SetTextColor(Color::GetColorFromRGBA(0x53, 0x20, 0xE2, 0xff));
wakeStr = "--";
InitLabel(wake, 245, 238, 230, 47, "wakelabel", wakeStr.c_str(),
- DEFAULT_VECTOR_FONT_FILENAME, 40);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
wake->SetTextColor(Color::GetColorFromRGBA(0x53, 0x20, 0xE2, 0xff));
/* -------------------------------- 将组件添加到根视图
// 更新时间
if (sleep_update_time != nullptr)
{
- std::string update_time = sleepModel.GetUpdateSleepTime();
- if (!update_time.empty()) // 检查返回值是否有效
- {
+ std::string update_time = sleepModel.GetUpdateSleepTime();
+ if (!update_time.empty()) // 检查返回值是否有效
+ {
+ //TODO:多国语言
std::string update_time_str = update_time + " 更新"; // 拼接字符串
sleep_update_time->SetText(update_time_str.c_str());
// UpdateLabel(sleep_update_time, sleep_goal, STR_SLEEPMGOAL); // TODO: 多国语言支持
InitImageView(upiconimage, 213, 420, 40, 40, "image", upimagePath);
InitImageView(progress_image, 28, 80, 100, 100, "image", prossimagePath);
/*初始化目标时间*/
- InitLabelExt(sleep_update_time, 83, 330, 300, 35, "lablegoal", STR_SLEEPMGOAL, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ //DEFAULT_VECTOR_FONT_FILENAME_EN
+ InitLabelExt(sleep_update_time, 83, 330, 300, 35, "lablegoal", STR_SLEEPMGOAL, DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
sleep_update_time->SetTextColor(Color::Gray());
/*初始化睡眠时间*/
time_hour = new UILabel();
// 打印配置
void printTrainingData(const Trainingdata &data); /*打印数据*/
void printf_data(SportData *data); /*打印函数*/
+ void PrintHeartRateTable();
+ void PrintPaceTable();
//配置用户信息
void SetUserSportdata();
std::vector<HeartRateEntry> heartRateTable; // 心率表
std::vector<PaceEntry> paceTable; // 配速表
- const size_t MAX_ENTRIES = 10000; // 规定最大进场条目数
- /*std::unique_ptr<SportData> sportdata;*/ // 使用 std::unique_ptr 管理
- // SportData 对象
+ const size_t MAX_ENTRIES = 100000; // 规定最大进场条目数
+
int user_maxHeart{190}; // 用户最高心率
int user_Age{20}; // 用户年龄
OHOS::TraingModel::GetInstance()->RecordSportData();
return;
}
-namespace OHOS {
#if TIMER
+namespace OHOS {
// 声明定时器变量
static osTimerId_t g_startCounting = NULL; // 定时器
static constexpr uint64_t MS_ONE_SECONDS = 1000;
paceTable.push_back(newEntry);
return true; // 返回成功
}
+//心率表打印
+void TraingModel::PrintHeartRateTable() {
+ size_t heartRateCount = heartRateTable.size();
+ if (heartRateCount == 0) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "心率表为空,无法打印。");
+ return;
+ }
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Heart Rate Table:");
+ for (const auto &entry : heartRateTable) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "时间戳: %u, 心率: %d",
+ entry.timestamp, entry.heartRate);
+ }
+}
+//配速表打印
+void TraingModel::PrintPaceTable() {
+ size_t paceCount = paceTable.size();
+ if (paceCount == 0) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "配速表为空,无法打印。");
+ return;
+ }
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Pace Table:");
+ for (const auto &entry : paceTable) {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "时间戳: %u, 配速: %.2f",
+ entry.timestamp, entry.pace);
+ }
+}
// 保存心率表
bool TraingModel::SaveHeartTable() {
+
+ //打印数组
+ PrintHeartRateTable();
+
CreateDirectoryIfNotExists(TRAINING_HEART_FILE);
size_t heartRateCount = heartRateTable.size();
// 保存配速表
bool TraingModel::SavePaceTable() {
+
+ //打印数组
+ PrintPaceTable();
+
CreateDirectoryIfNotExists(TRAINING_PACE_FILE);
size_t paceCount = paceTable.size();
}
}
-// 每分钟进行配速和心率数据存储
+// 每10秒进行配速和心率数据存储
void TraingModel::StoreDataIfMinutePassed() {
- if (sportdata->duration % 60 == 0) {
+ if (sportdata->duration % 10 == 0) {
uint32_t timestamp;
if (uapi_get_timestampe_ss(×tamp) == ERRCODE_SUCC) {
AddHeartRateData(timestamp, sportdata->heart);
InitRollLabel(labelgettag, 103, 307, 200, 35, "label3", STR_ACCOMPLISH_GOAL,\r
DEFAULT_VECTOR_FONT_FILENAME, 30);\r
getView->Add(labelgettag);\r
+ //DEFAULT_VECTOR_FONT_FILENAME_EN\r
InitLabel(labelpre, 233, 307, 160, 35, "label3", "100%",\r
- DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 30);\r
getView->Add(labelpre);\r
\r
// 初始化按键\r
\r
int maxheart = ConfigModel::GetInstance()->get_configData_int(\r
ConfigModel::CONFIGMODEL_ITEM_TRAINING_HEART_MAX);\r
+ //TODO 多国语言\r
std::string heartStr = "当前心率高于" + std::to_string(maxheart) + "次/分钟";\r
InitLabel(labelnote, 53, 269, 360, 35, "label3", heartStr.c_str(),\r
- DEFAULT_VECTOR_FONT_FILENAME, 30);\r
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 30);\r
heartView->Add(labelnote);\r
\r
InitImageView(heartiamge, 193, 149, 80, 80, "note", WARNING_IMAGE);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,\r
"tag[%d]-tagType[%d]-tagString[%s]\r\n", tag, tagType,\r
tagString.c_str());\r
+\r
+ //DEFAULT_VECTOR_FONT_FILENAME_EN\r
InitLabel(labeltag, 70, 215, 326, 97, "label2", tagString.c_str(),\r
- DEFAULT_VECTOR_FONT_FILENAME, 80);\r
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 80);\r
+ \r
labeltag->SetTextColor(Color::GetColorFromRGBA(0x4f, 0xc3, 0x4c, 0xff));\r
getView->Add(labeltag);\r
\r
InitLabelExt(labeltitle, 83, 50, 300, 35, "label1", STR_TRAINING_IN_PROGRESS,
DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabel(labeltimer, 45, 110, 360, 80, "label2", "00:00:00",
- DEFAULT_VECTOR_FONT_FILENAME, 65);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
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);
sportlabel->SetTextColor(Color::Gray());
+ //数字统一使用DEFAULT_VECTOR_FONT_FILENAME_EN
InitLabel(curtimelabel, 155, 60, 150, 50, "label1", "23:54",
- DEFAULT_VECTOR_FONT_FILENAME, 40);
-
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 40);
InitLabel(timerlabel, 0, 163, 466, 150, "label3", "00:00:00",
- DEFAULT_VECTOR_FONT_FILENAME, 80);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 80);
InitLabel(heartlabel, 85, 284, 230, 80, "label4", "--",
- DEFAULT_VECTOR_FONT_FILENAME, 60);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 60);
+
InitLabel(ubpmlabel, 218, 284, 230, 80, "label5", "bpm",
DEFAULT_VECTOR_FONT_FILENAME, 60);
ubpmlabel->SetTextColor(Color::Gray());
u_stepslabel->SetTextColor(Color::Gray());
u_calorielabel->SetTextColor(Color::Gray());
+ //数字统一使用DEFAULT_VECTOR_FONT_FILENAME_EN
InitLabel(milelabel, 17, 160, 200, 80, "label6", "13.21",
- DEFAULT_VECTOR_FONT_FILENAME, 65);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
InitLabel(calorielabel, 230, 160, 200, 80, "label7", "28312",
- DEFAULT_VECTOR_FONT_FILENAME, 65);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
InitLabel(steplabel, 133, 285, 200, 80, "label8", "210.03",
- DEFAULT_VECTOR_FONT_FILENAME, 65);
+ DEFAULT_VECTOR_FONT_FILENAME_EN, 65);
+
Add(u_milelabel);
Add(u_stepslabel);
Add(u_calorielabel);
UILabel_Chargeing->SetTextColor(Color::GetColorFromRGBA(0x4F, 0xC3, 0x4C, 0xff));
UILabel_Chargeing->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
UILabel_Chargeing->SetRollSpeed(0);
- UILabel_Chargeing->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ UILabel_Chargeing->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
UILabel_Chargeing->SetVisible(true);
// sleepnotifylabel->SetTextId(textId);
sleepnotifylabel->SetText(sleep_note.c_str());
sleepnotifylabel->SetTextColor(Color::Gray());
- sleepnotifylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ sleepnotifylabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 30);
sleepnotifylabel->SetLineBreakMode(UILabel::LINE_BREAK_CLIP); // 换行裁剪
sleepnotifylabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); // 居中显示
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "sleepnotifylabel is ok");
<static_img id="back_ground" position="0 0" img_name="./instance/101/MAIN_FACE_IMAGE.png"></static_img>\r
\r
<!-- 显示一周七天的选项图像,周期性更新 -->\r
- <option_img position="207 127" img_names="./instance/101/week/SUNDAY_IMAGE_PATH.png,./instance/101/week/MONDAY_IMAGE_PATH.png,./instance/101/week/TUESDAY_IMAGE_PATH.png,./instance/101/week/WEDNESDAY_IMAGE_PATH.png,./instance/101/week/THURSDAY_IMAGE_PATH.png,./instance/101/week/FIRDAY_IMAGE_PATH.png,./instance/101/week/SATURDAY_IMAGE_PATH.png" bind_data="17" period="10"></option_img>\r
+ <option_img position="207 132" img_names="./instance/101/week/SUNDAY_IMAGE_PATH.png,./instance/101/week/MONDAY_IMAGE_PATH.png,./instance/101/week/TUESDAY_IMAGE_PATH.png,./instance/101/week/WEDNESDAY_IMAGE_PATH.png,./instance/101/week/THURSDAY_IMAGE_PATH.png,./instance/101/week/FIRDAY_IMAGE_PATH.png,./instance/101/week/SATURDAY_IMAGE_PATH.png" bind_data="17" period="10"></option_img>\r
\r
<!-- 步数显示标签,动态更新步数 -->\r
- <label id="step_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="65 230 100 35" text="%5.0f" font_size="25" align="center" bind_data="1" period="10"></label>\r
+ <label id="step_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="80 230 100 35" text="%.0f" font_size="25" align="center" bind_data="1" period="10"></label>\r
\r
<!-- 心率图标 -->\r
<static_img id="heart_rate" position="156 260" img_name="./instance/101/HEARTRATE_IMAGE_PATH.png"></static_img>\r
\r
<!-- 心率显示标签,动态更新心率 -->\r
- <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="196 330 60 35" text="%3.0f" font_size="25" align="center" bind_data="2" period="10"></label>\r
+ <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="196 330 60 35" text="%.0f" font_size="25" align="center" bind_data="2" period="10"></label>\r
\r
<!-- 进度条背景图 -->\r
<static_img id="progress" position="53 54" img_name="./instance/101/PROGRESS_IMAGE_PATH.png"></static_img>\r
\r
<!-- 电池电量显示标签,动态更新电池百分比 -->\r
- <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="310 230 80 35" text="%2.0f%%" font_size="25" align="center" bind_data="8" period="10"></label>\r
+ <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="313 230 80 35" text="%.0f%%" font_size="25" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 时针旋转图像,周期性更新 -->\r
<rotate_img id="hour" position="202 16" rotate_center="25.0 211.0" rotate_start="0" rotate_end="360" img_name="./instance/101/HOURHAND.png" bind_data="9" period="10"></rotate_img>\r
<label id="week_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="262 390 100 30" text="%s" font_size="26" align="center" bind_data="20480" period="10"></label>\r
\r
<!-- 电池进度条 -->\r
- <box_progress id="battery_progress" rect="180 58 30 18" color="0xFFFFFFFF" cap_type="none" direction="left_to_right" background_color="0x00FFFFFF" bind_data="25" period="10"></box_progress>\r
+ <box_progress id="battery_progress" rect="182 58 30 18" color="0xFFFFFFFF" cap_type="none" direction="left_to_right" background_color="0x00FFFFFF" bind_data="25" period="10"></box_progress>\r
<!-- 电池图像 -->\r
- <option_img position="173 52" img_names="./instance/103/Battery/Battery.png,./instance/103/Battery/BatteryCharge.png" bind_data="20" period="10"></option_img>\r
+ <option_img position="176 52" img_names="./instance/103/Battery/Battery.png,./instance/103/Battery/BatteryCharge.png" bind_data="20" period="10"></option_img>\r
<!-- 电池百分比标签 -->\r
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
\r
<!-- 小时标签 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="101 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="101 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟标签 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="259 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="259 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="14" period="10"></label> -->\r
<!-- 分隔符标签 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="208 275 50 120" text=":" font_size="105" align="center" ></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="208 275 50 120" text=":" font_size="105" align="center" ></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="83 290 300 120" text="%s" font_size="90" align="center" bind_data="20483" period="10"></label>\r
+\r
\r
</dial>
\ No newline at end of file
<label id="week_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="194 348 100 30" text="%s" font_size="26" align="center" bind_data="20480" period="10"></label>\r
\r
<!-- 电池标签 -->\r
- <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="335 246 100 60" text="%2.0f%%" font_size="28" align="center" bind_data="8" period="10"></label>\r
+ <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="335 246 100 60" text="%.0f%%" font_size="28" align="center" bind_data="8" period="10"></label>\r
<!-- 心率标签 -->\r
- <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="35 246 100 60" text="%2.0f" font_size="28" align="center" bind_data="2" period="10"></label>\r
+ <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="35 246 100 60" text="%.0f" font_size="28" align="center" bind_data="2" period="10"></label>\r
\r
<!-- 时针图像 -->\r
<rotate_img id="hour" position="221 87" rotate_center="12.0 146.0" rotate_start="0" rotate_end="360" img_name="./instance/104/HOURHAND.png" bind_data="9" period="10"></rotate_img>\r
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>
- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="101 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="15" period="10"></label>
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="101 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="15" period="10"></label>
<label id="minute_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="259 295 200 60" text="%02.0f" font_size="90" align="center" bind_data="14" period="10"></label>
- <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="208 275 50 120" text=":" font_size="105" align="center"></label>
+ <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="208 275 50 120" text=":" font_size="105" align="center"></label> -->
+
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="83 290 300 120" text="%s" font_size="90" align="center" bind_data="20483" period="10"></label>
</dial>
\ No newline at end of file
-->\r
\r
<!-- 距离显示 -->\r
- <label id="distance_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="31 361 200 60" text="%3.1f" font_size="26" align="center" bind_data="23"></label>\r
+ <label id="distance_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="31 361 200 60" text="%.1f" font_size="26" align="center" bind_data="23"></label>\r
\r
<!-- 步数显示 -->\r
- <label id="step_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="121 361 200 60" text="%5.0f" font_size="26" align="center" bind_data="1"></label>\r
+ <label id="step_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="133 361 200 60" text="%.0f" font_size="26" align="center" bind_data="1"></label>\r
\r
<!-- 心率显示 -->\r
- <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="230 361 200 60" text="%3.0f" font_size="26" align="center" bind_data="2"></label>\r
+ <label id="heart_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="233 361 200 60" text="%.0f" font_size="26" align="center" bind_data="2"></label>\r
\r
<!-- 电池进度条 -->\r
<box_progress id="battery_progress" rect="180 58 30 18" color="0xFFFFFFFF" cap_type="none" direction="left_to_right" background_color="0x00FFFFFF" bind_data="25" period="10"></box_progress>\r
<!-- 电池图像 -->\r
<option_img position="173 52" img_names="./instance/106/Battery/Battery.png,./instance/106/Battery/BatteryCharge.png" bind_data="20" period="10"></option_img>\r
<!-- 电池百分比标签 -->\r
- <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
+ <label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 小时显示 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="59 160 77 104" text="%02.0f" font_size="120" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="59 160 77 104" text="%02.0f" font_size="120" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟显示 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="216 150 28 139" text=":" font_size="120" align="center"></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="216 150 28 139" text=":" font_size="120" align="center"></label> -->\r
<!-- 分钟显示 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="253 160 77 104" text="%02.0f" font_size="120" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="253 160 77 104" text="%02.0f" font_size="120" align="center" bind_data="14" period="10"></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="ellipsis" rect="43 160 360 120" text="%s" font_size="120" align="center" bind_data="20483" period="10"></label>\r
+\r
</dial>
\ No newline at end of file
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 小时标签 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟标签 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label> -->\r
<!-- 分隔符 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="133 310 200 100" text="%s" font_size="65" align="center" bind_data="20483" period="10"></label>\r
\r
</dial>
\ No newline at end of file
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 小时标签 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟标签 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label> -->\r
<!-- 分隔符 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="133 310 200 100" text="%s" font_size="65" align="center" bind_data="20483" period="10"></label>\r
\r
</dial>
\ No newline at end of file
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 小时标签 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟标签 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label> -->\r
<!-- 分隔符 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="133 310 200 100" text="%s" font_size="65" align="center" bind_data="20483" period="10"></label>\r
\r
</dial>
\ No newline at end of file
<label id="battery_label" color="0xFFFFFFFF" font="HarmonyOS_Sans_SC_Regular.ttf" break_mode="adapt" rect="228 52 200 62" text="%2.0f%%" font_size="26" align="center" bind_data="8" period="10"></label>\r
\r
<!-- 小时标签 -->\r
- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label>\r
+ <!-- <label id="hour_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="152 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="15" period="10"></label> -->\r
<!-- 分钟标签 -->\r
- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label>\r
+ <!-- <label id="minute_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="adapt" rect="260 318 200 60" text="%02.0f" font_size="65" align="center" bind_data="14" period="10"></label> -->\r
<!-- 分隔符 -->\r
- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label>\r
+ <!-- <label id="point_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="220 308 50 120" text=":" font_size="75" align="center"></label> -->\r
+\r
+ <label id="hour_ten_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="133 310 200 100" text="%s" font_size="65" align="center" bind_data="20483" period="10"></label>\r
\r
</dial>
\ No newline at end of file
-<dial title="time" description="æ\95°å\97è¶³ç\90\83" size="466 466" version="1.0" preview_img="./instance/116/time.png">\r
+<dial title="time" description="æ\99¨æ\9b¦æ\99ºå½±" size="466 466" version="1.0" preview_img="./instance/116/dawninsight.png">\r
<!-- 背景 -->\r
<static_img id="back_ground" position="0 0" img_name="./instance/116/MAIN_FACE_IMAGE.png"></static_img>\r
</dial>\r
+++ /dev/null
-<dial title="golden_ball" description="数字足球" size="466 466" version="1.0" preview_img="./instance/113/golden_ball.png">\r
- <!-- 背景 -->\r
- <static_img id="back_ground" position="0 0" img_name="./instance/113/MAIN_FACE_IMAGE.png"></static_img>\r
-\r
- <!-- 心率显示 -->\r
- <label id="heart_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="87 349 60 30" text="%2.0f" font_size="23" align="center" bind_data="2" period="10"></label>\r
-\r
- <!-- 电量 -->\r
- <label id="battery_label" color="0xFFFFFFFF" font="Gilroy_Bold.ttf" break_mode="ellipsis" rect="253 349 200 60" text="%2.0f%%" font_size="23" align="center" bind_data="8" period="60"></label>\r
-\r
- <!-- 小时 -->\r
- <rotate_img id="hour" position="210 0" rotate_center="18.0 147" rotate_start="0" rotate_end="360" img_name="./instance/113/HOURHAND.png" bind_data="9" period="10"></rotate_img>\r
- <!-- 分钟 -->\r
- <rotate_img id="minute" position="211 0" rotate_center="18.7 147" rotate_start="0" rotate_end="360" img_name="./instance/113/MINUTEHAND.png" bind_data="10" period="10"></rotate_img>\r
-</dial>\r