语言助手:增加subview的右滑退出
authorCaisking <3449750381@qq.com>
Wed, 2 Oct 2024 08:30:29 +0000 (16:30 +0800)
committerCaisking <3449750381@qq.com>
Wed, 2 Oct 2024 08:30:29 +0000 (16:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/assistant/src/AssistantBleView.cpp
code/sdk/application/wearable/fd230app/nativeui/assistant/src/AssistantHfpView.cpp
code/sdk/application/wearable/fd230app/nativeui/assistant/src/AssistantPresenter.cpp
code/sdk/application/wearable/fd230app/nativeui/assistant/src/AssistantStartFailedView.cpp

index 7deda15..c901584 100644 (file)
@@ -225,6 +225,15 @@ UIScrollView *AssistantBleView::CreateAssistantBleView(void) {
   scrollView->SetThrowDrag(true);
   scrollView->SetMaxScrollDistance(1000);
   scrollView->SetDirection(UIScrollView::VERTICAL);
+  // 设置拖拽监听器
+  UIView::OnDragListener *dragListener =
+      static_cast<UIView::OnDragListener *>(AssistantPresenter::GetInstance());
+  if (!dragListener) {
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
+                  "AssistantPresenter::获取实例失败!");
+    return nullptr; // 获取失败,返回空指针
+  }
+  scrollView->SetOnDragListener(dragListener);
 
   /* --------------------------------- 获取蓝牙名称*
    * --------------------------------- */
index ec8558a..0973f07 100644 (file)
@@ -225,6 +225,7 @@ UIScrollView *AssistantHfpView::CreateAssistantHfpView(void) {
   scrollView->SetViewId(ASSISTANT_HFP_BLE);
   scrollView->SetReboundSize(35);
   scrollView->SetDirection(UIScrollView::VERTICAL);
+  //设置页面点击监听器
   UIView::OnClickListener *buttonClick =
       static_cast<UIView::OnClickListener *>(AssistantPresenter::GetInstance());
   if (buttonClick == nullptr) {
@@ -232,6 +233,15 @@ UIScrollView *AssistantHfpView::CreateAssistantHfpView(void) {
     return nullptr;
   }
   scrollView->SetOnClickListener(buttonClick);
+  // 设置拖拽监听器
+  UIView::OnDragListener *dragListener =
+      static_cast<UIView::OnDragListener *>(AssistantPresenter::GetInstance());
+  if (!dragListener) {
+    WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
+                  "AssistantPresenter::获取实例失败!");
+    return nullptr; // 获取失败,返回空指针
+  }
+  scrollView->SetOnDragListener(dragListener);
 
   if (!CreateAssistantHfpViewLabel() || !CreateAssistantHfpViewImage() ||
       !CreateAssistantHfpViewButton()) {
index 00cc441..7860d80 100644 (file)
@@ -53,11 +53,25 @@ bool AssistantPresenter::OnDrag(UIView &view, const DragEvent &event) {
     if (&view == p_AssistantView->GetAssistantScrollView(ASSISTANT_MAIN_VIEW)) {
       NativeAbility::GetInstance().Back();
     }
+    /*在其他界面返回主界面*/
     if (&view ==
         p_AssistantView->GetAssistantScrollView(ASSISTANT_ANSWER_VIEW)) {
       p_AssistantView->ChangeView(ASSISTANT_ANSWER_VIEW, ASSISTANT_MAIN_VIEW);
     }
-    /*在其他界面返回主界面*/
+    if (&view ==
+        p_AssistantView->GetAssistantScrollView(ASSISTANT_HFP_FAIL_VIEW)) {
+      p_AssistantView->ChangeView(ASSISTANT_HFP_FAIL_VIEW, ASSISTANT_MAIN_VIEW);
+    }
+    if (&view ==
+        p_AssistantView->GetAssistantScrollView(ASSISTANT_BLE_NOTE_VIEW)) {
+      p_AssistantView->ChangeView(ASSISTANT_BLE_NOTE_VIEW,
+                                  ASSISTANT_HFP_FAIL_VIEW);
+    }
+    if (&view ==
+        p_AssistantView->GetAssistantScrollView(ASSISTANT_START_FAILED_VIEW)) {
+      p_AssistantView->ChangeView(ASSISTANT_START_FAILED_VIEW,
+                                  ASSISTANT_MAIN_VIEW);
+    }
   }
   return true;
 }
index 0c57528..bf2b3ce 100644 (file)
@@ -52,6 +52,16 @@ UIScrollView *AssistantStartFailedView::CreateAssistantStartFailedView(void) {
     scrollView->SetScrollBlankSize(50);
     scrollView->SetReboundSize(35);
     scrollView->SetDirection(UIScrollView::VERTICAL);
+    // 设置拖拽监听器
+    UIView::OnDragListener *dragListener =
+        static_cast<UIView::OnDragListener *>(
+            AssistantPresenter::GetInstance());
+    if (!dragListener) {
+      WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,
+                    "AssistantPresenter::获取实例失败!");
+      return nullptr; // 获取失败,返回空指针
+    }
+    scrollView->SetOnDragListener(dragListener);
     /* ----------------------- ImageView ---------------------- */
     ImageView = new UIImageView();
     if (ImageView == nullptr) {