#define PRINT_LINE_INFO() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "File: %s, Line: %d\r\n", __FILE__, __LINE__)
#define PRINT_FUNCTION_LINE() WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Function: %s, Line: %d\r\n", __FUNCTION__, __LINE__)
+#define UI_UPDATA 0
namespace OHOS
{
TraingEnddataView::~TraingEnddataView()
{
- DeInit();
+ // DeInit();
+ UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);
+ UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);
+
g_pTraingEnddataView = nullptr;
}
InitImageView(imageLine3, 97, baseY + lineHeight, 80, 20, "image3", LINE_IMAGE); // imageLine3
InitImageView(imageLine4, 97, baseY + 2 * lineHeight, 80, 20, "image4", LINE_IMAGE); // imageLine4
InitImageView(imageLine5, 97, baseY + 3 * lineHeight, 80, 20, "image5", LINE_IMAGE); // imageLine5
- InitImageView(imageLine6, 97, baseY + 4 * lineHeight, 80, 20, "image6", LINE_IMAGE); // imageLine6
- InitImageView(imageLine7, 97, baseY + 5 * lineHeight, 80, 20, "image7", LINE_IMAGE); // imageLine7
-
scrollView_->Add(imageLine2);
scrollView_->Add(imageLine3);
scrollView_->Add(imageLine4);
scrollView_->Add(imageLine5);
+ scrollView_->Add(imageIcon);
+
+#if UI_UPDATA
+ InitImageView(imageLine6, 97, baseY + 4 * lineHeight, 80, 20, "image6", LINE_IMAGE); // imageLine6
+ InitImageView(imageLine7, 97, baseY + 5 * lineHeight, 80, 20, "image7", LINE_IMAGE); // imageLine7
scrollView_->Add(imageLine6);
scrollView_->Add(imageLine7);
- scrollView_->Add(imageIcon);
+#endif
}
void TraingEnddataView ::InitializeLabels(void)
{
// 初始化单位Label
InitLabelExt(labelutag, 146, startY_Unit + labelInterval * 0, 240, 40, "label8", STR_GOAL_ACCOMPLISHMENT_DEGREE, DEFAULT_VECTOR_FONT_FILENAME, 30);
InitLabelExt(labelutime, 146, startY_Unit + labelInterval * 1, 240, 40, "label9", STR_TRAINING_DURATION, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelExt(labelumile, 146, startY_Unit + labelInterval * 2, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelExt(labeluheart, 146, startY_Unit + labelInterval * 3, 240, 40, "label11", STR_MEAN_HEART_RATE_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelExt(labelusteps, 146, startY_Unit + labelInterval * 4, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitLabelExt(labelustrong, 146, startY_Unit + labelInterval * 5, 240, 40, "label2", STR_TRAINING_INTENSITY, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labeluheart, 146, startY_Unit + labelInterval * 2, 240, 40, "label11", STR_MEAN_HEART_RATE_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelustrong, 146, startY_Unit + labelInterval * 3, 240, 40, "label2", STR_TRAINING_INTENSITY, DEFAULT_VECTOR_FONT_FILENAME, 30);
// 设置文本颜色
labelduration->SetTextColor(textColor);
labelutag->SetTextColor(textColor);
labelutime->SetTextColor(textColor);
- labelumile->SetTextColor(textColor);
labeluheart->SetTextColor(textColor);
- labelusteps->SetTextColor(textColor);
labelustrong->SetTextColor(textColor);
// 初始化值
InitLabel(labeltag, 146, startY_Value + 0 * labelInterval, 240, 60, "label18", "--", DEFAULT_VECTOR_FONT_FILENAME, 40);
labeltag->SetTextColor(Color::Green());
InitLabel(labeltime, 146, startY_Value + 1 * labelInterval, 240, 60, "label14", "05:45:46", DEFAULT_VECTOR_FONT_FILENAME, 40);
- labeltime->SetTextColor(Color::Orange());
- InitLabel(labelmile, 146, startY_Value + 2 * labelInterval, 240, 60, "label15", "8,301", DEFAULT_VECTOR_FONT_FILENAME, 40);
- labelmile->SetTextColor(Color::Blue());
- InitLabel(labelheart, 146, startY_Value + 3 * labelInterval, 240, 60, "label16", "144", DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labeltime->SetTextColor(Color::Red());
+ InitLabel(labelheart, 146, startY_Value + 2 * labelInterval, 240, 60, "label16", "144", DEFAULT_VECTOR_FONT_FILENAME, 40);
labelheart->SetTextColor(Color::Yellow());
- InitLabel(labelsteps, 146, startY_Value + 4 * labelInterval, 240, 60, "label16", "5000", DEFAULT_VECTOR_FONT_FILENAME, 40);
- labelsteps->SetTextColor(Color::Green());
- InitLabel(labelstrong, 146, startY_Value + 5 * labelInterval, 240, 60, "label17", "中等强度", DEFAULT_VECTOR_FONT_FILENAME, 30);
- labelstrong->SetTextColor(Color::Orange());
+ InitLabel(labelstrong, 146, startY_Value + 3 * labelInterval, 240, 60, "label17", "中等强度", DEFAULT_VECTOR_FONT_FILENAME, 30);
+ labelstrong->SetTextColor(Color::Red());
scrollView_->Add(labeltype);
scrollView_->Add(labelsport);
scrollView_->Add(labeltime);
scrollView_->Add(labelutag);
scrollView_->Add(labelutime);
- scrollView_->Add(labelumile);
scrollView_->Add(labeluheart);
scrollView_->Add(labelustrong);
- scrollView_->Add(labelusteps);
scrollView_->Add(labeltag);
scrollView_->Add(labelduration);
- scrollView_->Add(labelmile);
scrollView_->Add(labelheart);
scrollView_->Add(labelstrong);
+
+#if UI_UPDATA
+ InitLabelExt(labelumile, 146, startY_Unit + labelInterval * 2, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelusteps, 146, startY_Unit + labelInterval * 4, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ labelumile->SetTextColor(textColor);
+ labelusteps->SetTextColor(textColor);
+
+ InitLabel(labelmile, 146, startY_Value + 2 * labelInterval, 240, 60, "label15", "8,301", DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labelmile->SetTextColor(Color::Blue());
+ InitLabel(labelsteps, 146, startY_Value + 4 * labelInterval, 240, 60, "label16", "5000", DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labelsteps->SetTextColor(Color::Green());
+
+ scrollView_->Add(labelumile);
+ scrollView_->Add(labelusteps);
+ scrollView_->Add(labelmile);
scrollView_->Add(labelsteps);
+#endif
}
/* InitView:初始化界面*/
void TraingEnddataView ::InitView()
{
if (!TraingModel::GetInstance()->GetIsSpecial())
return;
-
+#if UI_UPDATA
/*线条*/
InitImageView(imageLine8, 97, baseY + 6 * lineHeight, 80, 20, "image8", LINE_IMAGE); // imageLine8
InitImageView(imageLine9, 97, baseY + 7 * lineHeight, 80, 20, "image9", LINE_IMAGE); // imageLine9
scrollView_->Add(labelavpace);
scrollView_->Add(labelfreq);
scrollView_->Add(labelstride);
+#else
+ InitLabelExt(labelumile, 146, startY_Unit + labelInterval * 2, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitLabelExt(labelusteps, 146, startY_Unit + labelInterval * 4, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ labelumile->SetTextColor(textColor);
+ labelusteps->SetTextColor(textColor);
+
+ InitLabel(labelsteps, 146, startY_Value + 4 * labelInterval, 240, 60, "label16", "5000", DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labelsteps->SetTextColor(Color::Green());
+ InitLabel(labelmile, 146, startY_Value + 5 * labelInterval, 240, 60, "label15", "8,301", DEFAULT_VECTOR_FONT_FILENAME, 40);
+ labelmile->SetTextColor(Color::Blue());
+
+ scrollView_->Add(labelumile);
+ scrollView_->Add(labelusteps);
+ scrollView_->Add(labelmile);
+ scrollView_->Add(labelsteps);
+#endif
}
// 配置退出相关位置
void TraingEnddataView::ExitView()
if (TraingModel::GetInstance()->GetIsSpecial())
{
// 初始化退出(最后 要根据前方配置设置位置)
- InitLabelExt(exitLabel, 80, 1404, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitButtonExt(exitButton, 42, 1484, 380, 100, BUTTONBACK, STR_CLOSE, 30);
+ InitLabelExt(exitLabel, 80, 1033, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitButtonExt(exitButton, 42, 1083, 380, 100, BUTTONBACK, STR_CLOSE, 30);
}
else
{
- InitLabelExt(exitLabel, 80, 1024, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30);
- InitButtonExt(exitButton, 42, 1111, 380, 100, BUTTONBACK, STR_CLOSE, 30);
+ InitLabelExt(exitLabel, 80, 773, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30);
+ InitButtonExt(exitButton, 42, 823, 380, 100, BUTTONBACK, STR_CLOSE, 30);
}
exitLabel->SetTextColor(Color::GetColorFromRGBA(0xff, 0xff, 0xff, 0x7f));
scrollView_->Add(exitLabel);
if (!imageStr.empty())
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "imageIcon %s\r\n", imageStr.c_str());
- imageIcon->SetSrc(imageStr.c_str());
+ if (imageIcon) // 检查 imageIcon 是否为空
+ {
+ imageIcon->SetSrc(imageStr.c_str());
+ }
}
else
{
// 训练类
UIResourceTextId typeId = TraingModel::GetInstance()->GetSportTypeId(enddata->sportType);
- labeltype->SetTextId(typeId);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Sport Type ID set: %d\r\n", typeId); // 打印运动类型ID
+ if (labeltype) // 检查 labeltype 是否为空
+ {
+ labeltype->SetTextId(typeId);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Sport Type ID set: %d\r\n", typeId); // 打印运动类型ID
+ }
// 运动项目
- labelsport->SetTextId(enddata->sportId);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Sport ID set: %d\r\n", enddata->sportId); // 打印运动项目ID
+ if (labelsport) // 检查 labelsport 是否为空
+ {
+ labelsport->SetTextId(enddata->sportId);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Sport ID set: %d\r\n", enddata->sportId); // 打印运动项目ID
+ }
// 运动开始结束时间
std::string startTimeStr = enddata->start_time;
std::string endTimeStr = enddata->end_time;
std::string durationStr = startTimeStr + "-" + endTimeStr;
- labelduration->SetText(durationStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Duration set: %s\r\n", durationStr.c_str()); // 打印运动时间段
+ if (labelduration) // 检查 labelduration 是否为空
+ {
+ labelduration->SetText(durationStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Duration set: %s\r\n", durationStr.c_str()); // 打印运动时间段
+ }
// 运动目标
if (enddata->goaldegree)
{
std::string tagStr = std::to_string(enddata->goaldegree) + "%";
- labeltag->SetText(tagStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Goal degree set: %s\r\n", tagStr.c_str()); // 打印运动目标
+ if (labeltag) // 检查 labeltag 是否为空
+ {
+ labeltag->SetText(tagStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Goal degree set: %s\r\n", tagStr.c_str()); // 打印运动目标
+ }
}
else
{
// 运动时长
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Duration of the sport: %d\r\n", enddata->duration);
std::string timeStr = TraingModel::GetInstance()->GetTrainingTime();
- labeltime->SetText(timeStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training time set: %s\r\n", timeStr.c_str()); // 打印训练时间
+ if (labeltime) // 检查 labeltime 是否为空
+ {
+ labeltime->SetText(timeStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training time set: %s\r\n", timeStr.c_str()); // 打印训练时间
+ }
// 运动距离
std::string mileStr = std::to_string(enddata->distance);
- labelmile->SetText(mileStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Distance set: %s\r\n", mileStr.c_str()); // 打印运动距离
+ if (labelmile) // 检查 labelmile 是否为空
+ {
+ labelmile->SetText(mileStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Distance set: %s\r\n", mileStr.c_str()); // 打印运动距离
+ }
// 平均心率
std::string heartStr = std::to_string(enddata->avgheart);
- labelheart->SetText(heartStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Average heart rate set: %s\r\n", heartStr.c_str()); // 打印平均心率
+ if (labelheart) // 检查 labelheart 是否为空
+ {
+ labelheart->SetText(heartStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Average heart rate set: %s\r\n", heartStr.c_str()); // 打印平均心率
+ }
// 步数
std::string stepStr = std::to_string(enddata->steps);
- labelsteps->SetText(stepStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Steps set: %s\r\n", stepStr.c_str()); // 打印步数
+ if (labelsteps) // 检查 labelsteps 是否为空
+ {
+ labelsteps->SetText(stepStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Steps set: %s\r\n", stepStr.c_str()); // 打印步数
+ }
// 训练强度
UIResourceTextId intensityid = TraingModel::GetInstance()->GetIntensity();
- labelstrong->SetTextId(intensityid);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Intensity ID set: %d\r\n", intensityid); // 打印训练强度ID
+ if (labelstrong) // 检查 labelstrong 是否为空
+ {
+ labelstrong->SetTextId(intensityid);
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Intensity ID set: %d\r\n", intensityid); // 打印训练强度ID
+ }
if (TraingModel::GetInstance()->GetIsSpecial())
{
// 平均配速
std::string avpaceStr = std::to_string(enddata->apc);
- labelavpace->SetText(avpaceStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Average pace set: %s\r\n", avpaceStr.c_str()); // 打印平均配速
+ if (labelavpace) // 检查 labelavpace 是否为空
+ {
+ labelavpace->SetText(avpaceStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Average pace set: %s\r\n", avpaceStr.c_str()); // 打印平均配速
+ }
// 步频
std::string freqStr = std::to_string(enddata->cdc);
- labelfreq->SetText(freqStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Cadence set: %s\r\n", freqStr.c_str()); // 打印步频
+ if (labelfreq) // 检查 labelfreq 是否为空
+ {
+ labelfreq->SetText(freqStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Cadence set: %s\r\n", freqStr.c_str()); // 打印步频
+ }
// 步幅
std::string strideStr = std::to_string(enddata->std);
- labelstride->SetText(strideStr.c_str());
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Stride length set: %s\r\n", strideStr.c_str()); // 打印步幅
+ if (labelstride) // 检查 labelstride 是否为空
+ {
+ labelstride->SetText(strideStr.c_str());
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Stride length set: %s\r\n", strideStr.c_str()); // 打印步幅
+ }
}
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TraingEnddataView data initialization complete.\r\n");