主界面卡片配置unload 382/target/2 383/1 383/head
authorCaisking <3449750381@qq.com>
Wed, 26 Jun 2024 10:49:42 +0000 (18:49 +0800)
committerCaisking <3449750381@qq.com>
Wed, 26 Jun 2024 10:49:42 +0000 (18:49 +0800)
code/sdk/application/wearable/fd230app/nativeui/heart_blood/BloodCardView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/training_card/src/Training_CardView.cpp

index ad3d6e5..7a3bc15 100644 (file)
 namespace OHOS\r
 {\r
     static Training_CardView *g_pTraining_CardView{nullptr};\r
-\r
+    std::string file = TRAINING_IAMGES;\r
     Training_CardView::Training_CardView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::Training_CardView");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training_CardView::Training_CardView");\r
         SetPosition(0, 0, HORIZONTAL_RESOLUTION, VERTICAL_RESOLUTION);\r
         g_pTraining_CardView = this;\r
     }\r
 \r
     Training_CardView::~Training_CardView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::~Training_CardView");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training_CardView::~Training_CardView");\r
         RemoveAll();\r
         DeInit();\r
         g_pTraining_CardView = nullptr;\r
@@ -50,7 +50,6 @@ namespace OHOS
     // 加载图片函数(针对UILabelButtonExt)\r
     bool Training_CardView::LoadImage(UILabelButtonExt *view, uint32_t resId)\r
     {\r
-        std::string file = TRAINING_IAMGES;\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingView LoadImage: %s, resID=0x%x", TRAINING_IAMGES, resId);\r
         ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
         if (image == nullptr)\r
@@ -58,7 +57,11 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::LoadImage %x fail", resId);\r
             return false;\r
         }\r
-        // Assuming SetImageSrc is the correct function for UILabelButtonExt\r
+        if (view == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "view is null");\r
+            return false;\r
+        }\r
         view->SetImageSrc(image, nullptr);\r
         return true;\r
     }\r
@@ -66,7 +69,6 @@ namespace OHOS
     // 加载图片函数(针对UIImageView)\r
     bool Training_CardView::LoadImage(UIImageView *view, uint32_t resId)\r
     {\r
-        std::string file = TRAINING_IAMGES;\r
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "TrainingView LoadImage: %s, resID=0x%x", TRAINING_IAMGES, resId);\r
         ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(resId, file);\r
         if (image == nullptr)\r
@@ -74,6 +76,11 @@ namespace OHOS
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::LoadImage %x fail", resId);\r
             return false;\r
         }\r
+        if (view == nullptr)\r
+        {\r
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "view is null");\r
+            return false;\r
+        }\r
         view->SetSrc(image); // Assuming SetSrc is the correct function for UIImageView\r
         return true;\r
     }\r
@@ -98,20 +105,16 @@ namespace OHOS
 \r
         for (auto &buttonInfo : buttons)\r
         {\r
-            if (buttonInfo.button == nullptr)\r
-            {\r
-                buttonInfo.button = new UILabelButtonExt();\r
-            }\r
 \r
-            if (!LoadImage(buttonInfo.button, buttonInfo.defaultImgSrc))\r
+            buttonInfo.button = new UILabelButtonExt();\r
+            if (buttonInfo.button == nullptr)\r
             {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], triangulation load fail", __LINE__);\r
-                return false;\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "buttonInfo.button is NULL");\r
             }\r
 \r
             buttonInfo.button->SetPosition(buttonInfo.posX, buttonInfo.posY);\r
             buttonInfo.button->Resize(140, 140);\r
-            // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Id:[%s]", buttonInfo.viewid);\r
+            // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Id:[%s]", buttonInfo.viewid);\r
             buttonInfo.button->SetTextId(buttonInfo.textid);\r
             buttonInfo.button->SetLabelPosition(0, 70);\r
             buttonInfo.button->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 25);\r
@@ -121,13 +124,33 @@ namespace OHOS
             UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::TraingOnClickListener::GetInstance();\r
             if (clickListener == nullptr)\r
             {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AddButton::OnStart clickListener NULL");\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AddButton::OnStart clickListener NULL");\r
                 return false;\r
             }\r
             buttonInfo.button->SetOnClickListener(clickListener);\r
-            Add(buttonInfo.button);\r
+            // 根据按钮的 viewid 分配给对应的成员变量\r
+            if (strcmp(buttonInfo.viewid, BUTTON1) == 0)\r
+            {\r
+                Button1 = buttonInfo.button;\r
+            }\r
+            else if (strcmp(buttonInfo.viewid, BUTTON2) == 0)\r
+            {\r
+                Button2 = buttonInfo.button;\r
+            }\r
+            else if (strcmp(buttonInfo.viewid, BUTTON3) == 0)\r
+            {\r
+                Button3 = buttonInfo.button;\r
+            }\r
+            else if (strcmp(buttonInfo.viewid, BUTTONMORE) == 0)\r
+            {\r
+                ButtonMore = buttonInfo.button;\r
+            }\r
         }\r
 \r
+        Add(Button1);\r
+        Add(Button2);\r
+        Add(Button3);\r
+        Add(ButtonMore);\r
         return true;\r
     }\r
 \r
@@ -149,27 +172,32 @@ namespace OHOS
 \r
         for (auto &imageInfo : images)\r
         {\r
+            imageInfo.image = new UIImageView();\r
             if (imageInfo.image == nullptr)\r
             {\r
-                imageInfo.image = new UIImageView();\r
+                WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "imageInfo.image is NULL");\r
             }\r
             imageInfo.image->SetPosition(imageInfo.posX, imageInfo.posY);\r
             imageInfo.image->Resize(100, 100);\r
-            if (!LoadImage(imageInfo.image, imageInfo.imagePath))\r
-            {\r
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[%d], triangulation load fail", __LINE__);\r
-                return false;\r
-            }\r
+\r
             imageInfo.image->SetViewId(imageInfo.viewId);\r
-            Add(imageInfo.image);\r
+            // Add(imageInfo.image);\r
         }\r
 \r
+        image1 = images[0].image;\r
+        image2 = images[1].image;\r
+        image3 = images[2].image;\r
+\r
+        Add(image1);\r
+        Add(image2);\r
+        Add(image3);\r
+\r
         return true;\r
     }\r
     /* -------------------------------------------------------------------------- */\r
     bool Training_CardView::InitView()\r
     {\r
-        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Training_CardView::InitView()");\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training_CardView::InitView()");\r
         if (!InitLable())\r
         {\r
             printf("InitLable error!\n");\r
@@ -182,6 +210,7 @@ namespace OHOS
         {\r
             printf("InitImage error!\n");\r
         };\r
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Training_CardView::InitView() is ok");\r
         // SetCoverable(true);\r
         return true;\r
     }\r
@@ -224,15 +253,36 @@ namespace OHOS
             InitView();\r
             viewiInitStatus = true;\r
         }\r
+        if (!resLoadStatus)\r
+        {\r
+            LoadImage(image1, TRAINING_WALKING_BIG);\r
+            LoadImage(image2, TRAINING_RIDING_BIG2);\r
+            LoadImage(image3, TRAINING_RUNNING_BIG);\r
+\r
+            LoadImage(Button1, TRAINING_BUTTONGROUND2);\r
+            LoadImage(Button2, TRAINING_BOUTTONGROUND);\r
+            LoadImage(Button3, TRAINING_BOUTTONGROUND);\r
+            LoadImage(ButtonMore, TRAINING_MORE);\r
+            resLoadStatus = true;\r
+        }\r
     }\r
 \r
     void Training_CardView::UnLoad(void)\r
     {\r
-#if 0\r
-        if (viewiInitStatus)\r
+\r
+        if (resLoadStatus)\r
         {\r
+            ImageInfo *img = nullptr;\r
+            image1->SetSrc(img);\r
+            image2->SetSrc(img);\r
+            image3->SetSrc(img);\r
+\r
+            Button1->SetImageSrc(img, img);\r
+            Button2->SetImageSrc(img, img);\r
+            Button3->SetImageSrc(img, img);\r
+            ButtonMore->SetImageSrc(img, img);\r
             ImageCacheManager::GetInstance().UnloadAllInMultiRes(TRAINING_IAMGES);\r
+            resLoadStatus = false;\r
         }\r
-#endif\r
     }\r
 }\r