修复设置黑屏问题
authorCaisking <Casiking@zhihuishixun.com>
Mon, 28 Apr 2025 08:34:24 +0000 (16:34 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Mon, 28 Apr 2025 08:34:24 +0000 (16:34 +0800)
code/sdk/application/wearable/fd230/nativeapp/nativeui/saveele/src/SaveBatView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/saveele/src/SaveEleView.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/settings/include/SettingView.h
code/sdk/application/wearable/fd230/nativeapp/nativeui/settings/src/SettingPresenter.cpp
code/sdk/application/wearable/fd230/nativeapp/nativeui/settings/src/SettingView.cpp

index 96410bf..dab7179 100644 (file)
@@ -334,8 +334,6 @@ namespace OHOS
         /* 关闭省电模式 */  \r
         uapi_exit_power_saving_mode();\r
 \r
-        // UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);\r
-        // UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);\r
 \r
         // 释放所有动态分配的成员变量  \r
         if (timelabel) {  \r
@@ -631,7 +629,7 @@ namespace OHOS
         backprogress->SetRadius(90);\r
         backprogress->SetEndAngle(359);\r
         backprogress->SetValue(0);\r
-        container_->Add(backprogress);\r
+        AddViewToRootContainer(backprogress);\r
         backprogress->SetVisible(false);\r
 \r
         // 手表image\r
@@ -645,7 +643,7 @@ namespace OHOS
         wathchiamge->Resize(100, 100);\r
         wathchiamge->SetViewId("image1");\r
         wathchiamge->SetSrc(SAVE_WATHCH);\r
-        container_->Add(wathchiamge);\r
+        AddViewToRootContainer(wathchiamge);\r
         wathchiamge->SetVisible(false);\r
 \r
         // 倒计时\r
@@ -664,7 +662,7 @@ namespace OHOS
         countlabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);\r
         countlabel->SetRollSpeed(0);\r
         countlabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME_EN, 40);\r
-        container_->Add(countlabel);\r
+        AddViewToRootContainer(countlabel);\r
         countlabel->SetVisible(false);\r
 #else\r
         if (canvas_ == nullptr)\r
@@ -847,8 +845,7 @@ namespace OHOS
 \r
         Draw();\r
 \r
-        //SetContainerView(container_);\r
-        //RootView::GetInstance()->SetOnKeyActListener(presenter_);\r
+        //GetRootContainer()->SetOnKeyActListener(presenter_);\r
     }\r
 \r
     \r
index 2bf54c6..7452402 100644 (file)
@@ -31,16 +31,10 @@ SaveEleView::SaveEleView() { g_pSaveEleView = this; }
 \r
 SaveEleView::~SaveEleView() {\r
 \r
-  // UIViewGroup *tmpGroup = dynamic_cast<UIViewGroup *>(container_);\r
-  // UIViewGroup::RemoveAndDeleteAllRecursively(tmpGroup);\r
 \r
   if (scrollview_ != nullptr) {\r
     scrollview_->RemoveAll();\r
-    delete scrollview_;\r
-    scrollview_ = nullptr;\r
-  }\r
-  RootView::GetInstance()->RemoveAll();\r
- \r
+\r
   if (labeltitle) {\r
     delete labeltitle;\r
     labeltitle = nullptr;\r
@@ -65,7 +59,10 @@ SaveEleView::~SaveEleView() {
     delete buttonok;\r
     buttonok = nullptr;\r
   }\r
-\r
+  delete scrollview_;\r
+    scrollview_ = nullptr;\r
+  }\r
+  \r
   g_pSaveEleView = nullptr;\r
 }\r
 \r
@@ -125,11 +122,15 @@ void SaveEleView::OnStart() {
     WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scrollview_ new fail");\r
     return;\r
   }\r
-  scrollview_->SetScrollBlankSize(35);\r
-  scrollview_->SetReboundSize(50);\r
+  // scrollview_->SetScrollBlankSize(35);\r
+  // scrollview_->SetReboundSize(50);\r
   scrollview_->SetPosition(0, 0, Screen::GetInstance().GetWidth(),\r
                           Screen::GetInstance().GetHeight());\r
 \r
+                          \r
+                          scrollview_->SetHorizontalScrollState(false); // 设置水平滚动失效\r
+                          scrollview_->SetDirection(1);\r
+\r
   scrollview_->SetOnDragListener(presenter_);\r
   scrollview_->SetOnRotateListener(presenter_);\r
   scrollview_->SetRotateFactor(2);\r
index a1ef838..54a7588 100644 (file)
@@ -31,6 +31,13 @@ namespace OHOS
       
         void AddSettingItemToList(const SettingItem &item);
 
+        UIList *GetSettingList(void)
+        {
+            return contentList;
+        }
+
+        void RefreshSettingList(const SettingItem *item);
+
     private:
         void CreateSettingView(void);
         void ClearAll(void);
index c4b2e62..d8b2763 100644 (file)
@@ -76,23 +76,22 @@ namespace OHOS
 
     void SettingPresenter::OnStart()
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnStart");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnStart");
         Presenter<SettingView>::OnStart();
         settingModel->InitSettingItem();
-    }
 
-    void SettingPresenter::OnResume(void)
-    {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnResume");
         if (view_ == nullptr)
         {
             return;
         }
         const SettingItem *itemInfo = settingModel->GetSettinglistItems();
-        for (uint8_t i = 0; i < settingModel->GetSettingListNum(); i++)
-        {
-            view_->AddSettingItemToList(itemInfo[i]);
-        }
+
+        view_->RefreshSettingList(itemInfo);
+    }
+
+    void SettingPresenter::OnResume(void)
+    {
+        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnResume");
     }
 
     // 页面准备切换到后台前执行的逻辑
@@ -105,7 +104,6 @@ namespace OHOS
     void SettingPresenter::OnStop(void)
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnStop");
-        Presenter<SettingView>::OnPause();
         return;
     }
 
@@ -148,10 +146,13 @@ namespace OHOS
     bool SettingPresenter::OnClick(UIView &view, const ClickEvent &event)
     {
         UNUSED(event);
+        WEARABLE_LOGE(WEOFABLE_LOG_MODULE_APP, "SettingPresenter::OnClick");
+
         SettingItemView *settingItemView = static_cast<SettingItemView *>(&view);
         AppViewId viewId = settingItemView->GetViewId();
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "%d\n", viewId);
-        NativeAbility::GetInstance().EnterSlice(viewId);
+        
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "%d\n", viewId);
+        NativeAbility::GetInstance().ChangeSlice(viewId);
         return true;
     }
 }
index 590a530..e8fe9f7 100644 (file)
@@ -39,7 +39,7 @@ namespace OHOS
     {
         settingListOnStop();
         ClearAll();
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::~SettingView");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::~SettingView");
     }
 
     void SettingView::ClearAll(void)
@@ -132,7 +132,7 @@ namespace OHOS
             CreateSettingView();
             viewInitStatus = true;
         }
-
+        settingListOnSetUpView();
         // 增加按键监听
        RootView::GetInstance()->SetOnKeyActListener(presenter_);
     }
@@ -192,11 +192,22 @@ namespace OHOS
 
     void SettingView::settingListOnStop(void)
     {
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SettingView::settingListOnStop");
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingView::settingListOnStop");
         int16_t listHeadY = contentList->GetChildrenHead()->GetY();
         int16_t listHeadIndex = contentList->GetChildrenHead()->GetViewIndex();
         presenter_->SetHeadItemY(listHeadY);
         presenter_->SetStartIndex(listHeadIndex);
-        WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "listHeadY = %d,listHeadIndex = %d", listHeadY, listHeadIndex);
+        WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listHeadY = %d,listHeadIndex = %d", listHeadY, listHeadIndex);
+    }
+
+
+    void SettingView:: RefreshSettingList(const SettingItem *item){
+        for (uint8_t i = 0; i < SettingModel::GetInstance().GetSettingListNum(); i++)
+        {
+            WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SettingPresenter::OnStart itemInfo[i].itemName:%d", i);
+            AddSettingItemToList(item[i]);
+        }
+        contentList->SetAdapter(listAdapter);
+        contentList->RefreshList();
     }
 }