增加滚动式label初始化
authorCaisking <3449750381@qq.com>
Sat, 31 Aug 2024 09:51:05 +0000 (17:51 +0800)
committerCaisking <3449750381@qq.com>
Sat, 31 Aug 2024 09:51:05 +0000 (17:51 +0800)
code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.cpp
code/sdk/application/wearable/CustomUIComponentTool/uicomponents/UIComponents.h
code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingEnddataView.cpp

index 9eecf69..c803f5a 100644 (file)
@@ -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} *
index 1b515ed..352021e 100644 (file)
@@ -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);
 
index 67541cb..21c199a 100644 (file)
@@ -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);
 
index 8f5a648..a93d4a1 100644 (file)
@@ -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));