解决#748,关于手表界面,编码器旋转不起作用bug
authorluozheng <1732036298@qq.com>
Thu, 19 Sep 2024 02:49:41 +0000 (10:49 +0800)
committerluozheng <1732036298@qq.com>
Thu, 19 Sep 2024 02:49:41 +0000 (10:49 +0800)
code/sdk/application/wearable/fd230app/nativeui/system/src/SystemAboutTheWatchView.cpp

index e6fd435..9f8691a 100644 (file)
 \r
 namespace OHOS\r
 {\r
-    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_X = 93;\r
-    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_Y = 52;\r
-    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_W = 280;\r
-    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_H = 40;\r
+    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_X = 83;\r
+    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_Y = 50;\r
+    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_W = 300;\r
+    static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_H = 35;\r
     static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_FONTSIZE = 30;\r
     static constexpr uint16_t SYSTEM_ABOUT_THEWATCH_TITLE_LINEHEIGHT = 35;\r
 \r
     static constexpr uint16_t TITLE_LABEL_X = 53;\r
     static constexpr uint16_t TITLE_LABEL_W = 360;\r
-    static constexpr uint16_t TITLE_LABEL_H = 40;\r
+    static constexpr uint16_t TITLE_LABEL_H = 35;\r
     static constexpr uint16_t TITLE_LABEL_FONTSIZE = 30;\r
     static constexpr uint16_t TITLE_LABEL_LINEHEIGHT = 35;\r
 \r
     static constexpr uint16_t LABEL_X = 33;\r
     static constexpr uint16_t LABEL_W = 400;\r
-    static constexpr uint16_t LABEL_H = 40;\r
+    static constexpr uint16_t LABEL_H = 35;\r
     static constexpr uint16_t LABEL_FONTSIZE = 30;\r
     static constexpr uint16_t LABEL_LINEHEIGHT = 35;\r
 \r
@@ -127,6 +127,7 @@ namespace OHOS
             delete CyweeVersion;\r
             CyweeVersion = nullptr;\r
 \r
+            FocusManager::GetInstance()->ClearFocus();\r
             delete SystemAboutTheWatchScrollView;\r
             SystemAboutTheWatchScrollView = nullptr;\r
         }\r
@@ -178,9 +179,15 @@ namespace OHOS
         SystemAboutTheWatchScrollView->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetHeight());\r
         SystemAboutTheWatchScrollView->SetStyle(STYLE_BACKGROUND_OPA, 0xff);\r
         SystemAboutTheWatchScrollView->SetStyle(STYLE_BORDER_RADIUS, 1294);\r
-        SystemAboutTheWatchScrollView->SetScrollBlankSize(TITLE_LABEL_LINEHEIGHT);\r
-        SystemAboutTheWatchScrollView->SetReboundSize(50);\r
+        SystemAboutTheWatchScrollView->SetScrollBlankSize(30);\r
+        SystemAboutTheWatchScrollView->SetReboundSize(30);\r
         SystemAboutTheWatchScrollView->SetDirection(1);\r
+        SystemAboutTheWatchScrollView->SetThrowDrag(true);\r
+        SystemAboutTheWatchScrollView->SetMaxScrollDistance(1000);\r
+        SystemAboutTheWatchScrollView->SetSwipeACCLevel(800); /*设置手指抬起屏幕后的补偿距离。*/\r
+        FocusManager::GetInstance()->RequestFocus(SystemAboutTheWatchScrollView);\r
+        FocusManager::GetInstance()->RequestFocusByDirection(FOCUS_DIRECTION_UP);\r
+        SystemAboutTheWatchScrollView->SetRotateFactor(1.0);\r
         UIView::OnDragListener *draglistener = static_cast<UIView::OnDragListener *>(SystemPresenter::GetInstance());\r
         if (draglistener == nullptr)\r
         {\r
@@ -214,7 +221,7 @@ namespace OHOS
             .lineHeigh = SYSTEM_ABOUT_THEWATCH_TITLE_LINEHEIGHT,\r
             .text = "关于手表",\r
             .textId = STR_ABOUT_WATCH,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         SystemAboutTheWatchTitle = InitLabel_Ext(Config);\r
         if (SystemAboutTheWatchTitle == nullptr)\r
@@ -233,7 +240,7 @@ namespace OHOS
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "手表名称",\r
             .textId = STR_WATCH_NAME,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         WatchNameTitle = InitLabel_Ext(Config);\r
         if (WatchNameTitle == nullptr)\r
@@ -275,7 +282,7 @@ namespace OHOS
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "固件版本",\r
             .textId = STR_FIRMWARE_VERSION,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         FirmwareVersionTitle = InitLabel_Ext(Config);\r
         if (FirmwareVersionTitle == nullptr)\r
@@ -320,7 +327,7 @@ namespace OHOS
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "蓝牙名称",\r
             .textId = STR_BLUETOOTH_NAME,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         BluetoothNameTitle = InitLabel_Ext(Config);\r
         if (BluetoothNameTitle == nullptr)\r
@@ -363,7 +370,7 @@ namespace OHOS
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "蓝牙地址",\r
             .textId = STR_BLUETOOTH_ADDRESS,\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         BluetoothAddressTitle = InitLabel_Ext(Config);\r
         if (BluetoothAddressTitle == nullptr)\r
@@ -407,7 +414,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "4G Modem",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         Network4GTitle = InitLabel(Config);\r
         if (Network4GTitle == nullptr)\r
@@ -444,7 +451,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "pyVer",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         PyVerTitle = InitLabel(Config);\r
         if (PyVerTitle == nullptr)\r
@@ -481,7 +488,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "IMEI",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         IMELTitle = InitLabel(Config);\r
         if (IMELTitle == nullptr)\r
@@ -518,7 +525,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "OS Version",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         FONTTitle = InitLabel(Config);\r
         if (FONTTitle == nullptr)\r
@@ -555,7 +562,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "HW Version",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         HWVERTitle = InitLabel(Config);\r
         if (HWVERTitle == nullptr)\r
@@ -592,7 +599,7 @@ namespace OHOS
             .fontSize = TITLE_LABEL_FONTSIZE,\r
             .lineHeigh = TITLE_LABEL_LINEHEIGHT,\r
             .text = "Cywee Version",\r
-            .lineBreakMode = UILabel::LINE_BREAK_MARQUEE,\r
+            .lineBreakMode = UILabel::LINE_BREAK_OSCILLATION,\r
         };\r
         CyweeVersionTitle = InitLabel(Config);\r
         if (CyweeVersionTitle == nullptr)\r