切换表盘增加光晕效果
authorCaisking <3449750381@qq.com>
Thu, 21 Mar 2024 13:16:37 +0000 (21:16 +0800)
committerCaisking <3449750381@qq.com>
Thu, 21 Mar 2024 13:16:37 +0000 (21:16 +0800)
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp
code/sdk/application/wearable/fd230app/nativeui/dialupdate/src/DialUpdateView.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/traing/src/TraingView.cpp
code/sdk/middleware/services/gui/uikit/utils/interfaces/innerkits/graphic_config.h

index 38cbe7f..b42eb61 100644 (file)
@@ -137,8 +137,6 @@ namespace OHOS
         contentList_->SetScrollStateListener(this);
         contentList_->SetMaxScrollDistance(MAX_SCROLL_DIS);
         contentList_->SetYScrollBarVisible(true);
-        // contentList_->EnableAutoAlign(true);
-        // contentList_->SetAutoAlignTime(100);
         SetContainerView(contentList_);
 
         dragListener = new AppListOnDragListener();
index 2ba4f1c..1e6a6d5 100644 (file)
 
 #include "dialupdate/include/DialUpdateView.h"
 #include "dialupdate/include/DialUpdateModel.h"
+#include <securec.h>
+#include "common/image_cache_manager.h"
+#include "gfx_utils/mem_api.h"
 #include "wearable_log.h"
 #include <string>
+#include "components/ui_canvas_ext.h"
 
 extern DialInfo dialInfo[MAX_DIALNUM];
 extern DialInfo_1 dialInfo_1[MAX_DIALNUM_1];
@@ -29,7 +33,10 @@ namespace OHOS
     {
         g_pDialUpdateView = this;
     }
+    UICardPage *Page[10] = {NULL};
     UILabelButtonExt *Button[10] = {NULL};
+    UILabel *Label[10] = {NULL};
+    UICanvasExt *canvas[10] = {NULL};
     DialUpdateView::~DialUpdateView()
     {
         if (container_ != nullptr)
@@ -41,11 +48,27 @@ namespace OHOS
 
         for (int i = 0; i < dial_num; i++)
         {
+            if (Page[i] != nullptr)
+            {
+                Page[i]->RemoveAll();
+                delete Page[i];
+                Page[i] = nullptr;
+            }
+            if (Label[i] != NULL)
+            {
+                delete Label[i];
+                Label[i] = NULL;
+            }
             if (Button[i] != NULL)
             {
                 delete Button[i];
                 Button[i] = NULL;
             }
+            if (canvas[i] != NULL)
+            {
+                delete canvas[i];
+                canvas[i] = NULL;
+            }
         }
         g_pDialUpdateView = nullptr;
     }
@@ -79,31 +102,67 @@ namespace OHOS
     {
         for (int i = 0; i < dial_num; i++)
         {
+            Page[i] = new UICardPage();
+            if (Page == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Page new fail!");
+            }
+            Page[i]->SetPosition(0, 0, 466, 466);
+            Page[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+
+            /* --------------------------------- 增加光晕效果 --------------------------------- */
+            canvas[i] = new UICanvasExt();
+            if (canvas[i] == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "canvas new fail!");
+            }
+            canvas[i]->SetPosition(73, 73, 320, 320);
+            canvas[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+            canvas[i]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+            PaintExt paint;
+            Point center = {158, 158};
+            paint.SetStyle(Paint::PaintStyle::STROKE_STYLE);
+            paint.SetStrokeWidth(20); // 30: stroke width
+            paint.SetStrokeColor(Color::Cyan());
+            paint.SetAntialiased(true);
+            RadialGradient radial = {158, 158, 150, 150, 152};
+            ColorStop stops[3] = {{0, Color::White().full}, {0.8, Color::White().full}, {1, 0x00ffffff}};
+            paint.SetRadialGradient(radial, stops, 3); // 3: count
+            canvas[i]->DrawCircle(center, 140, paint);
+            Page[i]->Add(canvas[i]);
+            /* -------------------------------------------------------------------------- */
+            Label[i] = new UILabel();
+            if (Label[i] == nullptr)
+            {
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Label new fail!");
+            }
+            Label[i]->SetPosition(115, 40, 200, 60);
+            Label[i]->SetText(dialInfo_1[i].title);
+            Label[i]->SetAlign(TEXT_ALIGNMENT_CENTER);
+            Label[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+            Page[i]->Add(Label[i]);
+
             Button[i] = new UILabelButtonExt();
-            if (Button == nullptr)
+            if (Button[i] == nullptr)
             {
-                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemUpgradeButtonExt new fail!");
+                WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Button new fail!");
             }
-            Button[i]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetWidth());
+            Button[i]->SetPosition(103, 103, 260, 260);
             Button[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
-            Button[i]->SetImagePosition(103, 103);
+            Button[i]->SetImagePosition(0, 0);
             Button[i]->SetViewId(dialInfo_1[i].title);
-
             Button[i]->SetImageSrc(dialInfo_1[i].thumbnailPath, dialInfo_1[i].thumbnailPath);
-            Button[i]->SetText(dialInfo_1[i].title);
-            Button[i]->SetAlign(TEXT_ALIGNMENT_CENTER);
-            Button[i]->SetLabelPosition(0, -380);
-            Button[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             Button[i]->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::PRESSED);
             Button[i]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED);
             UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(DialUpdatePresenter::GetInstance());
             UIView::OnDragListener *buttondarg = static_cast<UIView::OnDragListener *>(DialUpdatePresenter::GetInstance());
             Button[i]->SetOnClickListener(buttonClick);
             Button[i]->SetOnDragListener(buttondarg);
-            container_->Add(Button[i]);
+            Page[i]->Add(Button[i]);
+
+            container_->Add(Page[i]);
         }
     }
-    UICardPage *cade[10] = {nullptr};
 
     void DialUpdateView::OnStart()
     {
index 017fbbf..e7306fa 100644 (file)
@@ -54,7 +54,7 @@ namespace OHOS
         UNUSED(view);
         if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT)
         {
-            NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
+            NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST, TRANSITION_ZOOM);
         }
         return true;
     }
index 875792e..dd97ffb 100644 (file)
@@ -229,12 +229,14 @@ namespace OHOS
 \r
     void TraingView::OnStart()\r
     {\r
+#if 0\r
         printf(" data--training1_Text: %s\n", data->training1_Text.c_str());\r
         printf(" data--training1_Image: %s\n", data->training1_Image.c_str());\r
         printf(" data--training2_Text: %s\n", data->training2_Text.c_str());\r
         printf(" data--training2_Image: %s\n", data->training2_Image.c_str());\r
         printf(" data--training3_Text: %s\n", data->training3_Text.c_str());\r
         printf(" data--training3_Image: %s\n", data->training3_Image.c_str());\r
+#endif\r
         container_ = new UIViewGroup();\r
         if (container_ == nullptr)\r
         {\r
@@ -258,6 +260,7 @@ namespace OHOS
         GetView();\r
 \r
         RootView::GetInstance()->Add(container_);\r
+        SetContainerView(container_);\r
     }\r
 \r
     void TraingView::OnSetUpView()\r
index 5878129..fd67642 100755 (executable)
@@ -361,7 +361,7 @@ namespace OHOS {
 /**
  * @brief Graphics rendering accelerated by VGUEngine, which is disabled by default on other platforms.
  */
-#define ENABLE_VGU_ENGINE                 0
+#define ENABLE_VGU_ENGINE                 1
 /**
  * @brief ARM NEON ability, which is enabled by default on other platforms.
  */