From 292df885bede33328392b5679f30ca10fa209b38 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Sat, 31 Aug 2024 17:51:05 +0800 Subject: [PATCH] =?utf8?q?=E5=A2=9E=E5=8A=A0=E6=BB=9A=E5=8A=A8=E5=BC=8Flab?= =?utf8?q?el=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../uicomponents/UIComponents.cpp | 47 +++++++++++++++++++ .../uicomponents/UIComponents.h | 1 + .../nativeui/heartrate/src/HeartChartView.cpp | 2 +- .../nativeui/traing/src/TraingEnddataView.cpp | 28 +++++------ 4 files changed, 63 insertions(+), 15 deletions(-) diff --git a/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.cpp b/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.cpp index 9eecf69de..c803f5ada 100644 --- a/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.cpp +++ b/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.cpp @@ -54,6 +54,53 @@ namespace OHOS return true; } + /*** + * @description: 初始化标签 + * @param {UILabel} * + * @param {int} left + * @param {int} top + * @param {int} width + * @param {int} height + * @param {char} *viewId + * @param {char} *text + * @param {char} *fontName + * @param {int} fontSize + * @return + * @brief 初始化标签 + */ + bool InitRollLabel(UILabelExt *&label, int left, int top, int width, int height, const char *viewId, UIResourceTextId id, const char *fontName, int fontSize) + { + // 检查标签指针是否为空 + if (label == nullptr) + { + label = new UILabelExt(); + if (label == nullptr) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel is error"); + return false; // 内存分配失败,返回false + } + } + else + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLabel is not nullptr"); + return false; // 内存分配失败,返回false + } + // 设置标签的位置和大小 + label->SetPosition(left, top); + label->Resize(width, height); + // 设置标签的视图 ID + label->SetViewId(viewId); + // 设置标签的样式 + label->SetStyle(STYLE_TEXT_FONT, fontSize); + label->SetFont(fontName, fontSize); + // 设置标签的文本和其他属性 + label->SetTextId(id); + label->SetLineBreakMode(UILabel::LINE_BREAK_OSCILLATION); + label->SetRollSpeed(70); + label->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER); + + return true; + } /*** * @description: 初始化标签 * @param {UILabel} * diff --git a/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h b/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h index 1b515ed3e..352021eb2 100644 --- a/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h +++ b/code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h @@ -56,6 +56,7 @@ namespace OHOS // 默认参数的 UILabel 初始化 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); + bool InitRollLabel(UILabelExt *&label, int left, int top, int width, int height, const char *viewId, UIResourceTextId id, const char *fontName, int fontSize); bool InitLabelExt(UILabelExt *&label, int left, int top, int width, int height, const char *viewId, UIResourceTextId id, const char *fontName, int fontSize); bool InitButtonExt(UILabelButtonExt *&button, int left, int top, int width, int height, const char *viewId, UIResourceTextId id, int fontSize); diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp index 67541cbf1..21c199a54 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp @@ -263,7 +263,7 @@ namespace OHOS InitImageView(BottomimageView, 267, 350, 21, 12, "BottomimageView", BUTTOM_ICON_PATH); // 初始化心率值 InitLabel(CurrentHeartText, 172, 62, 102, 79, "CurrentHeartText", "--", GILROY_BOLD_FONT, 65); - InitLabelExt(UHeartText, 283, 85, 100, 35, "UHeartText", STR_TIMES_PER_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(UHeartText, 283, 85, 100, 35, "UHeartText", STR_TIMES_PER_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30); InitLabelAdapt(MaxHeartText, 160, 336, 102, 79, "MaxHeartText", "--", DEFAULT_VECTOR_FONT_FILENAME, 35); InitLabelAdapt(MinHeartText, 295, 336, 102, 79, "MinHeartText", "--", DEFAULT_VECTOR_FONT_FILENAME, 35); diff --git a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp index 8f5a648ad..a93d4a191 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp @@ -82,15 +82,15 @@ namespace OHOS void TraingEnddataView ::InitializeLabels(void) { /*title and sport*/ - InitLabelExt(labeltype, 83, 50, 300, 35, "label1", STR_EXERCISE_LIST, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labeltype, 83, 50, 300, 35, "label1", STR_EXERCISE_LIST, 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); // 初始化单位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(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); + InitRollLabel(labelutag, 146, startY_Unit + labelInterval * 0, 240, 40, "label8", STR_GOAL_ACCOMPLISHMENT_DEGREE, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelutime, 146, startY_Unit + labelInterval * 1, 240, 40, "label9", STR_TRAINING_DURATION, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labeluheart, 146, startY_Unit + labelInterval * 2, 240, 40, "label11", STR_MEAN_HEART_RATE_MIN, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelustrong, 146, startY_Unit + labelInterval * 3, 240, 40, "label2", STR_TRAINING_INTENSITY, DEFAULT_VECTOR_FONT_FILENAME, 30); // 设置文本颜色 labelduration->SetTextColor(textColor); @@ -123,8 +123,8 @@ namespace OHOS 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); + InitRollLabel(labelumile, 146, startY_Unit + labelInterval * 2, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelusteps, 146, startY_Unit + labelInterval * 4, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30); labelumile->SetTextColor(textColor); labelusteps->SetTextColor(textColor); @@ -178,9 +178,9 @@ namespace OHOS scrollView_->Add(imageLine9); scrollView_->Add(imageLine10); /*label*/ - InitLabelExt(labeluavpace, 146, startY_Unit + labelInterval * 6, 240, 40, "label2", STR_AVG_PACE, DEFAULT_VECTOR_FONT_FILENAME, 30); - InitLabelExt(labelufreq, 146, startY_Unit + labelInterval * 7, 240, 40, "label2", STR_STEP_FREQUENCY, DEFAULT_VECTOR_FONT_FILENAME, 30); - InitLabelExt(labelustride, 146, startY_Unit + labelInterval * 8, 240, 40, "label2", STR_STEP_LENGTH, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labeluavpace, 146, startY_Unit + labelInterval * 6, 240, 40, "label2", STR_AVG_PACE, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelufreq, 146, startY_Unit + labelInterval * 7, 240, 40, "label2", STR_STEP_FREQUENCY, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelustride, 146, startY_Unit + labelInterval * 8, 240, 40, "label2", STR_STEP_LENGTH, DEFAULT_VECTOR_FONT_FILENAME, 30); labeluavpace->SetTextColor(textColor); labelufreq->SetTextColor(textColor); labelustride->SetTextColor(textColor); @@ -198,8 +198,8 @@ namespace OHOS scrollView_->Add(labelfreq); scrollView_->Add(labelstride); #else - InitLabelExt(labelumile, 146, startY_Unit + labelInterval * 4, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30); - InitLabelExt(labelusteps, 146, startY_Unit + labelInterval * 5, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelumile, 146, startY_Unit + labelInterval * 4, 240, 40, "label10", STR_RANGE_MILE, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(labelusteps, 146, startY_Unit + labelInterval * 5, 240, 40, "label12", STR_STEP_NUMBER, DEFAULT_VECTOR_FONT_FILENAME, 30); labelumile->SetTextColor(textColor); labelusteps->SetTextColor(textColor); @@ -225,12 +225,12 @@ namespace OHOS if (TraingModel::GetInstance()->GetIsSpecial()) { // 初始化退出(最后 要根据前方配置设置位置) - InitLabelExt(exitLabel, 80, 1033, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(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, 773, 300, 40, "label8", STR_MORE_APP, DEFAULT_VECTOR_FONT_FILENAME, 30); + InitRollLabel(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)); -- 2.17.1