解决,#695,手表,弧形列表使用编码器上下滑动时没有和列表显示一样增加震动反馈bug 1055/1
authorluozheng <1732036298@qq.com>
Sun, 29 Sep 2024 09:30:15 +0000 (17:30 +0800)
committerluozheng <1732036298@qq.com>
Sun, 29 Sep 2024 09:30:15 +0000 (17:30 +0800)
code/sdk/application/wearable/fd230app/nativeui/applist/src/ApplistView.cpp

index 103e9b4..897e2ed 100644 (file)
@@ -16,7 +16,7 @@
 namespace OHOS {
 static constexpr int16 NUM_2 = 2;
 static constexpr int16 MAX_SCROLL_DIS = 1000;
-static constexpr int16 ROTATE_FACTOR_2 = 2;
+static constexpr int16 ROTATE_FACTOR_2 = 2.0;
 
 #define ARC_SCALE_LIST_SCALE_FACTOR (400)//(400)
 #define ARC_SCALE_LIST_X (50)
@@ -289,17 +289,17 @@ void ApplistView::ArcScaleListStyleOnStart(void)
         ArcScaleList_->SetPosition(ARC_SCALE_LIST_X, ARC_SCALE_LIST_Y, ARC_SCALE_LIST_WIDTH, ARC_SCALE_LIST_HEIGHT);
         ArcScaleList_->SetItemTransformFunc(&TransformItemBaseOnPosition);
         ArcScaleList_->SetAdapter(ArcScaleListAdapter_);
+        ArcScaleList_->SetDraggable(true);
         ArcScaleList_->SetThrowDrag(true);
         ArcScaleList_->SetStyle(STYLE_BACKGROUND_OPA, OPA_TRANSPARENT);
         ArcScaleList_->SetScrollBlankSize(40);//(50);
-        ArcScaleList_->SetMaxScrollDistance(1000*2); // 1000: max scroll distance
-        ArcScaleList_->SetSwipeACCLevel(800); // 800: compensation distance
-        ArcScaleList_->SetDragACCLevel(5); // 5: drag acceleration
+        ArcScaleList_->SetMaxScrollDistance(MAX_SCROLL_DIS);
         ArcScaleList_->SetYScrollBarVisible(true);
         // ArcScaleList_->SetScrollStateListener(presenter_);
         ArcScaleList_->SetReboundSize(35);
         ArcScaleList_->EnableAutoAlign(true);
         ArcScaleList_->SetItemSpace(10);
+        ArcScaleList_->SetSelectPosition(ARC_SCALE_LIST_HEIGHT / 2);
         ArcScaleList_->SetRotateFactor(ROTATE_FACTOR_2);
         ArcScaleList_->RequestFocus();
         ArcScaleList_->RefreshList();