Merge #1169 into sdk602patch0911 from refs/changes/1169/head 1171/target/1 1172/target/1 1173/target/1 1174/target/1
author罗正 <1732036298@qq.com>
Sat, 12 Oct 2024 06:55:01 +0000 (06:55 +0000)
committersnickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Sat, 12 Oct 2024 06:55:01 +0000 (06:55 +0000)
#99解决,,给可以滚动视图添加表冠控制旋转表冠一直触发(需求)

* refs/changes/1169/head: (2 commits squashed)

  - #99解决,,给可以滚动视图添加表冠控制旋转表冠一直触发(需求)

  - 关机动画使用IMG_SRC_FILE_PATH而不用IMG_SRC_IMAGE_INFO ,解决关机动画出现慢问题

Signed-off-by: 罗正 <1732036298@qq.com>
Reviewed-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
Merged-by: snickersun@163.com <accounts_62b90f7fcf51ade33b6f628e@mail.teambition.com>
link: https://codeup.aliyun.com/64191456b9581d62e8f81ac0/FD230/change/1169
14 files changed:
code/sdk/application/wearable/fd230app/nativeui/alarm/src/MainAlarmView.cpp
code/sdk/application/wearable/fd230app/nativeui/compass/src/CompassCalibrationView.cpp
code/sdk/application/wearable/fd230app/nativeui/motionrecognition/src/MotionRecognitionView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerSourceView.cpp
code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/include/ShutDownImageAnimatorView.h
code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/src/ShutDownImageAnimatorView.cpp
code/sdk/application/wearable/fd230app/nativeui/respiratorytraining/src/RespiratoryTrainingCompletedView.cpp
code/sdk/application/wearable/fd230app/nativeui/stopwatch/src/MainStopWatchView.cpp
code/sdk/application/wearable/fd230app/nativeui/weather/src/FutureWeatherView.cpp
code/sdk/application/wearable/service/msg_center/src/notify/drinkReminder_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp
code/sdk/application/wearable/service/msg_center/src/notify/sedentaryReminder_notification.cpp

index f602cab..5b2a89d 100644 (file)
@@ -71,6 +71,7 @@ MainAlarmView::~MainAlarmView()
     // addButton = nullptr;
     if(group)
     {
+        group->ClearFocus();
         delete group;
         group = nullptr;
     }
@@ -496,6 +497,8 @@ void MainAlarmView::OnStart()
     group->SetTouchable(true);
     group->SetDraggable(true);
     group->SetDirection(UIScrollView::VERTICAL);
+    group->RequestFocus();
+    group->SetRotateFactor(1.0);
     UIView::OnDragListener *alarmDragListener = (UIView::OnDragListener *)OHOS::AlarmPresenter::GetInstance();
     if (alarmDragListener == nullptr) {
         WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmSetWeekView:: new alarmDragListener fail");
index 56b56e2..59962ec 100644 (file)
@@ -56,6 +56,7 @@ void CompassCalibrationView::ClearAll(void)
             delete labelTwo;
             labelTwo = nullptr;
         }
+        scrollView->ClearFocus();
         delete scrollView;
         scrollView = nullptr;
     }
@@ -84,6 +85,8 @@ bool CompassCalibrationView::CreateUIViewGroup(void)
     scrollView->SetThrowDrag(true);
     scrollView->SetMaxScrollDistance(1000);
     scrollView->SetDirection(UIScrollView::VERTICAL);
+    scrollView->RequestFocus();
+    scrollView->SetRotateFactor(1.0);
     /* -------------------------------------------------------------------------- */
     if (labelOne == nullptr) 
     {
index a3cf946..f38efec 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-04-23 17:28:52
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-08 18:14:26
+ * @LastEditTime: 2024-10-12 11:17:45
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/motionrecognition/src/MotionRecognitionView.cpp
  */
 #include "motionrecognition/include/MotionRecognitionPresenter.h"
@@ -68,6 +68,7 @@ namespace OHOS
                 note = nullptr;
             }
 
+            scrollView->ClearFocus();
             delete scrollView;
             scrollView = nullptr;
         }
@@ -85,6 +86,8 @@ namespace OHOS
             scrollView->SetHorizontalScrollState(false);
             scrollView->SetReboundSize(35);
             scrollView->SetOnDragListener(presenter_);
+            scrollView->RequestFocus();
+            scrollView->SetRotateFactor(1.0);
             /* -------------------------------------------------------------------------- */
             Title = new UILabelExt();
             if (Title == nullptr)
index 5d90e33..0142c6b 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-12 11:31:43
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-23 15:42:03
+ * @LastEditTime: 2024-10-12 11:15:50
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBTConnectFailedView.cpp
  */
 #include "player/include/MusicPlayerBTConnectFailedView.h"
@@ -90,6 +90,7 @@ namespace OHOS
                     delete CloseButton;
                     CloseButton = nullptr;
                 }
+                scrollView->ClearFocus();
                 delete scrollView;
                 scrollView = nullptr;
             }
@@ -287,6 +288,8 @@ namespace OHOS
         scrollView->SetThrowDrag(true);
         scrollView->SetMaxScrollDistance(1000);
         scrollView->SetDirection(UIScrollView::VERTICAL);
+        scrollView->RequestFocus();
+        scrollView->SetRotateFactor(1.0);
 
         /* --------------------------------- 获取蓝牙名称 --------------------------------- */
         get_bt_name();
index a857d71..c7e9497 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-08-10 16:23:46
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-09-23 15:40:20
+ * @LastEditTime: 2024-10-12 11:20:55
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/player/src/MusicPlayerBluetoothDisConView.cpp
  */
 #include "player/include/MusicPlayerBluetoothDisConView.h"
@@ -89,6 +89,7 @@ namespace OHOS
                     delete OkLabel;
                     OkLabel = nullptr;
                 }
+                scrollView->ClearFocus();
                 delete scrollView;
                 scrollView = nullptr;
             }
@@ -298,6 +299,8 @@ namespace OHOS
         scrollView->SetScrollBlankSize(50);
         scrollView->SetReboundSize(35);
         scrollView->SetDirection(UIScrollView::VERTICAL);
+        scrollView->RequestFocus();
+        scrollView->SetRotateFactor(1.0);
 
         if (!CreateMusicPlayerBluetoothDisConViewLabel() || !CreateMusicPlayerBluetoothDisConViewImage() || !CreateMusicPlayerBluetoothDisConViewButton())
         {
index 2f67c8d..21c8e3c 100644 (file)
@@ -185,6 +185,7 @@ namespace OHOS
                     delete bluetoothHeadsetConnectState;\r
                     bluetoothHeadsetConnectState = nullptr;\r
                 }\r
+                scrollView->ClearFocus();\r
                 delete scrollView;\r
                 scrollView = nullptr;\r
             }\r
@@ -452,6 +453,8 @@ namespace OHOS
         scrollView->SetDragACCLevel(5);\r
         scrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
         scrollView->SetDirection(UIScrollView::VERTICAL);\r
+        scrollView->RequestFocus();\r
+        scrollView->SetRotateFactor(1.0);\r
         group->Add(scrollView);\r
 \r
         if (!CreateMusicPlayerSourceViewLabelButton() || !CreateMusicPlayerSourceViewLabel() || !CreateMusicPlayerSourceViewImage())\r
index 0e23c99..c57f524 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-07-20 11:05:46
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-11 16:13:29
+ * @LastEditTime: 2024-10-12 14:29:17
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/rebootandshutdown/include/ShutDownImageAnimatorView.h
  */
 
@@ -41,7 +41,8 @@ namespace OHOS
         UIViewGroup *group{nullptr};
         UIImageAnimatorView *shutDownImageAnimatorView{nullptr};                      // 关机动画
         ImageAnimatorInfo ShutDownImageInfo[SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES]; // 关机图像的信息
-        const ImageInfo **ShutDownPathsArray{nullptr};                               // 关机图片路径数组
+        const char **ShutDownPathsArray{nullptr};
+        // const ImageInfo **ShutDownPathsArray{nullptr};                               // 关机图片路径数组
         int OperationType;
         bool isShutDownImageAnimatorStart{false};
     };
index 29d932b..8116e9a 100644 (file)
@@ -41,8 +41,8 @@ namespace OHOS
                 delete shutDownImageAnimatorView;
                 shutDownImageAnimatorView = nullptr;
             }
-            // FreeImageInfoArray(ShutDownPathsArray, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
-            FreeImageInfoArray(ShutDownPathsArray,ShutDownPaths,SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
+            FreeImagePathsArray(ShutDownPathsArray, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
+            // FreeImageInfoArray(ShutDownPathsArray,ShutDownPaths,SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
             delete group;
             group = nullptr;
         }
@@ -98,8 +98,8 @@ namespace OHOS
     bool ShutDownImageAnimatorView::ShowUpShutDownAnimatorView()
     {
         WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "ShutDownImageAnimatorView::ShowUpShutDownAnimatorView");
-        // ShutDownPathsArray = CreateImagePathsArray(ShutDownPaths, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
-        ShutDownPathsArray = CreateImageInfoArray(ShutDownPaths, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
+        ShutDownPathsArray = CreateImagePathsArray(ShutDownPaths, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
+        // ShutDownPathsArray = CreateImageInfoArray(ShutDownPaths, SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
 
         if (shutDownImageAnimatorView == nullptr)
         {
@@ -111,10 +111,10 @@ namespace OHOS
             }
             for (uint8_t i = 0; i < SHUTDOWN_IMAGE_ANIMATOR_VIEW_NUM_FRAMES; i++)
             {
-                // ShutDownImageInfo[i].imagePath = (ShutDownPathsArray[i]);
-                // ShutDownImageInfo[i].imageType = IMG_SRC_FILE_PATH;
-                ShutDownImageInfo[i].imageInfo = (ShutDownPathsArray[i]);
-                ShutDownImageInfo[i].imageType = IMG_SRC_IMAGE_INFO;
+                ShutDownImageInfo[i].imagePath = (ShutDownPathsArray[i]);
+                ShutDownImageInfo[i].imageType = IMG_SRC_FILE_PATH;
+                // ShutDownImageInfo[i].imageInfo = (ShutDownPathsArray[i]);
+                // ShutDownImageInfo[i].imageType = IMG_SRC_IMAGE_INFO;
                 ShutDownImageInfo[i].pos.x = SHUTDOWN_IMAGE_ANIMATOR_VIEW_X;
                 ShutDownImageInfo[i].pos.y = SHUTDOWN_IMAGE_ANIMATOR_VIEW_Y;
                 ShutDownImageInfo[i].width = SHUTDOWN_IMAGE_ANIMATOR_VIEW_W;
index d216594..3713d60 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-05-07 11:25:58
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-04 19:53:55
+ * @LastEditTime: 2024-10-12 11:19:25
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/RespiratoryTrainingCompleted/src/RespiratoryTrainingCompletedView.cpp
  */
 
@@ -89,6 +89,7 @@ namespace OHOS
                 RTCLabelButton = nullptr;
             }
 
+            ScrollView->ClearFocus();
             delete ScrollView;
             ScrollView = nullptr;
         }
@@ -155,6 +156,8 @@ namespace OHOS
         ScrollView->SetHorizontalScrollState(false);
         ScrollView->SetTouchable(true);
         ScrollView->SetDraggable(true);
+        ScrollView->RequestFocus();
+        ScrollView->SetRotateFactor(1.0);
 
         return true;
     }
index a833ab6..fd48486 100644 (file)
@@ -67,6 +67,7 @@ namespace OHOS
 \r
             if (list != nullptr)\r
             {\r
+                list->ClearFocus();\r
                 delete list;\r
                 list = nullptr;\r
             }\r
@@ -306,6 +307,8 @@ namespace OHOS
             list->SetDragACCLevel(5);\r
             list->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
             list->SetVisible(false);\r
+            list->RequestFocus();\r
+            list->SetRotateFactor(1.0);\r
             /* ------------------------------- listadapter ------------------------------ */\r
             listadapter = new TextAdapter();\r
             if (listadapter == nullptr)\r
index 7a91835..c391122 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com\r
  * @Date: 2024-01-29 15:37:44\r
  * @LastEditors: luozheng 1732036298@qq.com\r
- * @LastEditTime: 2024-08-17 16:27:56\r
+ * @LastEditTime: 2024-10-12 11:26:06\r
  * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/weather/src/FutureWeatherView.cpp\r
  */\r
 #include "weather/include/FutureWeatherView.h"\r
@@ -47,6 +47,7 @@ namespace OHOS
             delete futureWeatherListAdapter;\r
             futureWeatherListAdapter = nullptr;\r
 \r
+            FutureWeatherList->ClearFocus();\r
             delete FutureWeatherList;\r
             FutureWeatherList = nullptr;\r
         }\r
@@ -94,6 +95,8 @@ namespace OHOS
         FutureWeatherList->SetSwipeACCLevel(800);\r
         WeatherModel::GetInstance().InitFutureWeatherItem();\r
         FutureWeatherList->SetAdapter(futureWeatherListAdapter);\r
+        FutureWeatherList->RequestFocus();\r
+        FutureWeatherList->SetRotateFactor(1.0);\r
         FutureWeatherList->SetIntercept(true);\r
         Add(FutureWeatherList);\r
         viewInitStatus = true;\r
index 7cb4f9b..973dc7b 100644 (file)
@@ -3,6 +3,7 @@
 #include "components/ui_button.h"
 #include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
+#include "components/ui_scroll_view.h"
 #ifdef FD230
 #include "ui_resource_string.h"
 #endif
@@ -22,6 +23,7 @@ namespace OHOS
 {
 
     UIViewGroup *DrinkReminderGroupView{nullptr};
+    UIScrollView *DrinkReminderScrollView{nullptr};
     UILabelExt *DrinkReminderTitleLabel{nullptr}; // 标题: 喝水提醒
     UIImageView *DrinkReminderImage{nullptr};
     UILabelExt *DrinkReminderNoteLabel{nullptr}; // 喝水提醒note
@@ -93,7 +95,7 @@ namespace OHOS
     {
         /*亮屏加震动*/
         uapi_set_screen_on_api();
-        if(true != ConfigModel::GetInstance()->GetDnotdisturb() && (!uapi_sleep_mode_flag_get()))
+        if (true != ConfigModel::GetInstance()->GetDnotdisturb() && (!uapi_sleep_mode_flag_get()))
         {
             // uapi_vibrationModeSet(ConfigModel::GetInstance()->GetVibrationReminder());
             ui_api_vibrate_once_func();
@@ -123,6 +125,28 @@ namespace OHOS
                 return nullptr;
             }
             DrinkReminderGroupView->SetOnDragListener(dragListener);
+            /* -------------------------------------------------------------------------- */
+            if (DrinkReminderScrollView == nullptr)
+            {
+                DrinkReminderScrollView = new UIScrollView();
+                if (DrinkReminderScrollView == nullptr)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DrinkReminderScrollView new fail");
+                    return nullptr;
+                }
+            }
+            DrinkReminderScrollView->SetPosition(0, 0, 466, 466);
+            DrinkReminderScrollView->SetThrowDrag(true);
+            DrinkReminderScrollView->SetDraggable(true);
+            DrinkReminderScrollView->SetTouchable(true);
+            DrinkReminderScrollView->SetReboundSize(30);
+            DrinkReminderScrollView->SetScrollBlankSize(30);
+            DrinkReminderScrollView->SetSwipeACCLevel(800); // 800: compensation distance
+            DrinkReminderScrollView->SetDragACCLevel(5);    // 5: drag acceleration
+            DrinkReminderScrollView->SetMaxScrollDistance(1000);
+            DrinkReminderScrollView->SetDirection(UIScrollView::VERTICAL);
+            DrinkReminderScrollView->RequestFocus();
+            DrinkReminderScrollView->SetRotateFactor(1.0);
             /* ------------------------- DrinkReminderTitleLabel ------------------------ */
             DrinkReminderTitleLabel = new UILabelExt();
             if (DrinkReminderTitleLabel == nullptr)
@@ -204,11 +228,12 @@ namespace OHOS
             DrinkReminderLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
             DrinkReminderLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             /* ----------------------------------- Add ---------------------------------- */
-            DrinkReminderGroupView->Add(DrinkReminderTitleLabel);
-            DrinkReminderGroupView->Add(DrinkReminderImage);
-            DrinkReminderGroupView->Add(DrinkReminderNoteLabel);
-            DrinkReminderGroupView->Add(DrinkReminderButton);
-            DrinkReminderGroupView->Add(DrinkReminderLabel);
+            DrinkReminderScrollView->Add(DrinkReminderTitleLabel);
+            DrinkReminderScrollView->Add(DrinkReminderImage);
+            DrinkReminderScrollView->Add(DrinkReminderNoteLabel);
+            DrinkReminderScrollView->Add(DrinkReminderButton);
+            DrinkReminderScrollView->Add(DrinkReminderLabel);
+            DrinkReminderGroupView->Add(DrinkReminderScrollView);
 
             /* -------------------------------------------------------------------------- */
             if (true != OHOS::ConfigModel::GetInstance()->GetDnotdisturb() && (!uapi_sleep_mode_flag_get()))
@@ -217,11 +242,11 @@ namespace OHOS
             }
 
             ScreenTurnOn(10 * 1000); // 亮屏操作  10秒关闭
-        /* -------------------------------------------------------------------------- */
+                                     /* -------------------------------------------------------------------------- */
 
             WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Create DrinkReminderView succeed!!");
         }
-        
+
         NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeDrinkReminderView);
         return DrinkReminderGroupView;
     }
@@ -234,21 +259,28 @@ namespace OHOS
         {
             DrinkReminderGroupView->RemoveAll();
 
-            delete DrinkReminderTitleLabel;
-            DrinkReminderTitleLabel = nullptr;
+            if (DrinkReminderScrollView != nullptr)
+            {
+                DrinkReminderScrollView->RemoveAll();
+                delete DrinkReminderTitleLabel;
+                DrinkReminderTitleLabel = nullptr;
 
-            delete DrinkReminderImage;
-            DrinkReminderImage = nullptr;
+                delete DrinkReminderImage;
+                DrinkReminderImage = nullptr;
 
-            delete DrinkReminderNoteLabel;
-            DrinkReminderNoteLabel = nullptr;
+                delete DrinkReminderNoteLabel;
+                DrinkReminderNoteLabel = nullptr;
 
-            delete DrinkReminderButton;
-            DrinkReminderButton = nullptr;
+                delete DrinkReminderButton;
+                DrinkReminderButton = nullptr;
 
-            delete DrinkReminderLabel;
-            DrinkReminderLabel = nullptr;
+                delete DrinkReminderLabel;
+                DrinkReminderLabel = nullptr;
 
+                DrinkReminderScrollView->ClearFocus();
+                delete DrinkReminderScrollView;
+                DrinkReminderScrollView = nullptr;
+            }
             RootView::GetInstance()->Remove(DrinkReminderGroupView);
             delete DrinkReminderGroupView;
             DrinkReminderGroupView = nullptr;
index 4ac3cc2..73f2309 100644 (file)
@@ -2,7 +2,7 @@
  * @Author: luozheng 1732036298@qq.com
  * @Date: 2024-03-22 10:04:36
  * @LastEditors: luozheng 1732036298@qq.com
- * @LastEditTime: 2024-10-09 10:08:29
+ * @LastEditTime: 2024-10-12 11:31:08
  * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/pairing_notification.cpp
  */
 #include "notification_manager.h"
@@ -271,6 +271,8 @@ namespace OHOS
             DeviceBindingScrollView->SetDragACCLevel(5);    // 5: drag acceleration
             DeviceBindingScrollView->SetMaxScrollDistance(1000);
             DeviceBindingScrollView->SetDirection(UIScrollView::VERTICAL);
+            DeviceBindingScrollView->RequestFocus();
+            DeviceBindingScrollView->SetRotateFactor(1.0);
             /* ----------------------- DeviceBindingViewTitleLabel ---------------------- */
             if (DeviceBindingViewTitleLabel == nullptr)
             {
@@ -436,6 +438,8 @@ namespace OHOS
             DeviceUnBindingScrollView->SetDragACCLevel(5);    // 5: drag acceleration
             DeviceUnBindingScrollView->SetMaxScrollDistance(1000);
             DeviceUnBindingScrollView->SetDirection(UIScrollView::VERTICAL);
+            DeviceUnBindingScrollView->RequestFocus();
+            DeviceUnBindingScrollView->SetRotateFactor(1.0);
             /* ----------------------- DeviceUnBindingAnimatorView ---------------------- */
             UnBindPathsArray = CreateImageInfoArray(UNBIND_IMAGE_SRC, UNBIND_IMAGE_ANIMATOR_VIEW_NUM_FRAMES);
             if (DeviceUnBindingAnimatorView == nullptr)
@@ -598,6 +602,8 @@ namespace OHOS
             DeviceUnbindingRequestScrollView->SetDragACCLevel(5);    // 5: drag acceleration
             DeviceUnbindingRequestScrollView->SetMaxScrollDistance(1000);
             DeviceUnbindingRequestScrollView->SetDirection(UIScrollView::VERTICAL);
+            DeviceUnbindingRequestScrollView->RequestFocus();
+            DeviceUnbindingRequestScrollView->SetRotateFactor(1.0);
             /* ------------------ DeviceUnbindingRequestViewTitleLabel ------------------ */
             if (DeviceUnbindingRequestViewTitleLabel == nullptr)
             {
@@ -783,6 +789,7 @@ namespace OHOS
                     delete DeviceBindingButtonOK;
                     DeviceBindingButtonOK = nullptr;
                 }
+                DeviceBindingScrollView->ClearFocus();
                 delete DeviceBindingScrollView;
                 DeviceBindingScrollView = nullptr;
             }
@@ -834,6 +841,7 @@ namespace OHOS
                     delete DeviceUnBindingButtonOK;
                     DeviceUnBindingButtonOK = nullptr;
                 }
+                DeviceUnBindingScrollView->ClearFocus();
                 delete DeviceUnBindingScrollView;
                 DeviceUnBindingScrollView = nullptr;
             }
@@ -886,6 +894,7 @@ namespace OHOS
                     delete DeviceUnbindingRequestButtonCancel;
                     DeviceUnbindingRequestButtonCancel = nullptr;
                 }
+                DeviceUnbindingRequestScrollView->ClearFocus();
                 delete DeviceUnbindingRequestScrollView;
                 DeviceUnbindingRequestScrollView = nullptr;
             }
index 881a508..7e493f7 100644 (file)
@@ -3,6 +3,7 @@
 #include "components/ui_button.h"
 #include "components/ui_image_view.h"
 #include "components/ui_label_ext.h"
+#include "components/ui_scroll_view.h"
 #ifdef FD230
 #include "ui_resource_string.h"
 #endif
@@ -19,6 +20,7 @@ namespace OHOS
 {
 
     UIViewGroup *SedentaryReminderGroupView{nullptr};
+    UIScrollView *SedentaryReminderScrollView{nullptr};
     UILabelExt *SedentaryReminderTitleLabel{nullptr}; // 标题: 久坐提醒
     UIImageView *SedentaryReminderImage{nullptr};
     UILabelExt *SedentaryReminderNoteLabel{nullptr}; // 久坐提醒note
@@ -120,7 +122,7 @@ namespace OHOS
     /*设置喝水提醒note上的提醒时间*/
     void SedentaryReminderViewEventListener::SetSedentaryReminderNoteIntervalTime(int interval)
     {
-        UpdateNoteLabelText(SedentaryReminderNoteLabel,std::to_string(interval),STR_SEDENTARY_REMINDER_NOTE);
+        UpdateNoteLabelText(SedentaryReminderNoteLabel, std::to_string(interval), STR_SEDENTARY_REMINDER_NOTE);
     }
 
     // 获取久坐提醒时间间隔
@@ -153,6 +155,28 @@ namespace OHOS
                 return nullptr;
             }
             SedentaryReminderGroupView->SetOnDragListener(dragListener);
+            /* -------------------------------------------------------------------------- */
+            if (SedentaryReminderScrollView == nullptr)
+            {
+                SedentaryReminderScrollView = new UIScrollView();
+                if (SedentaryReminderScrollView == nullptr)
+                {
+                    WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SedentaryReminderScrollView new fail");
+                    return nullptr;
+                }
+            }
+            SedentaryReminderScrollView->SetPosition(0, 0, 466, 466);
+            SedentaryReminderScrollView->SetThrowDrag(true);
+            SedentaryReminderScrollView->SetDraggable(true);
+            SedentaryReminderScrollView->SetTouchable(true);
+            SedentaryReminderScrollView->SetReboundSize(30);
+            SedentaryReminderScrollView->SetScrollBlankSize(30);
+            SedentaryReminderScrollView->SetSwipeACCLevel(800); // 800: compensation distance
+            SedentaryReminderScrollView->SetDragACCLevel(5);    // 5: drag acceleration
+            SedentaryReminderScrollView->SetMaxScrollDistance(1000);
+            SedentaryReminderScrollView->SetDirection(UIScrollView::VERTICAL);
+            SedentaryReminderScrollView->RequestFocus();
+            SedentaryReminderScrollView->SetRotateFactor(1.0);
             /* ------------------------- SedentaryReminderTitleLabel ------------------------ */
             SedentaryReminderTitleLabel = new UILabelExt();
             if (SedentaryReminderTitleLabel == nullptr)
@@ -238,16 +262,17 @@ namespace OHOS
             SedentaryReminderLabel->SetAlign(TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_CENTER);
             SedentaryReminderLabel->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
             /* ----------------------------------- Add ---------------------------------- */
-            SedentaryReminderGroupView->Add(SedentaryReminderTitleLabel);
-            SedentaryReminderGroupView->Add(SedentaryReminderImage);
-            SedentaryReminderGroupView->Add(SedentaryReminderNoteLabel);
-            SedentaryReminderGroupView->Add(SedentaryReminderButton);
-            SedentaryReminderGroupView->Add(SedentaryReminderLabel);
+            SedentaryReminderScrollView->Add(SedentaryReminderTitleLabel);
+            SedentaryReminderScrollView->Add(SedentaryReminderImage);
+            SedentaryReminderScrollView->Add(SedentaryReminderNoteLabel);
+            SedentaryReminderScrollView->Add(SedentaryReminderButton);
+            SedentaryReminderScrollView->Add(SedentaryReminderLabel);
+            SedentaryReminderGroupView->Add(SedentaryReminderScrollView);
 
             WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Create SedentaryReminderView succeed!!");
         }
         /* -------------------------------------------------------------------------- */
-        ScreenTurnOn(10*1000);//显示时长10s
+        ScreenTurnOn(10 * 1000); // 显示时长10s
         ui_api_vibrate_once_func();
         /* -------------------------------------------------------------------------- */
         NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeSedentaryReminderView);
@@ -261,22 +286,28 @@ namespace OHOS
         if (SedentaryReminderGroupView != nullptr)
         {
             SedentaryReminderGroupView->RemoveAll();
+            if (SedentaryReminderScrollView != nullptr)
+            {
+                SedentaryReminderScrollView->RemoveAll();
+                delete SedentaryReminderTitleLabel;
+                SedentaryReminderTitleLabel = nullptr;
 
-            delete SedentaryReminderTitleLabel;
-            SedentaryReminderTitleLabel = nullptr;
-
-            delete SedentaryReminderImage;
-            SedentaryReminderImage = nullptr;
-
-            delete SedentaryReminderNoteLabel;
-            SedentaryReminderNoteLabel = nullptr;
+                delete SedentaryReminderImage;
+                SedentaryReminderImage = nullptr;
 
-            delete SedentaryReminderButton;
-            SedentaryReminderButton = nullptr;
+                delete SedentaryReminderNoteLabel;
+                SedentaryReminderNoteLabel = nullptr;
 
-            delete SedentaryReminderLabel;
-            SedentaryReminderLabel = nullptr;
+                delete SedentaryReminderButton;
+                SedentaryReminderButton = nullptr;
 
+                delete SedentaryReminderLabel;
+                SedentaryReminderLabel = nullptr;
+                
+                SedentaryReminderScrollView->ClearFocus();
+                delete SedentaryReminderScrollView;
+                SedentaryReminderScrollView = nullptr;
+            }
             RootView::GetInstance()->Remove(SedentaryReminderGroupView);
             delete SedentaryReminderGroupView;
             SedentaryReminderGroupView = nullptr;