[NUI] Switch do not animate on selection when it is not on Window (#2032)
authorJiyun Yang <ji.yang@samsung.com>
Mon, 21 Sep 2020 05:01:34 +0000 (14:01 +0900)
committerGitHub <noreply@github.com>
Mon, 21 Sep 2020 05:01:34 +0000 (14:01 +0900)
Signed-off-by: Jiyun Yang <ji.yang@samsung.com>
src/Tizen.NUI.Components/Controls/Extension/SlidingSwitchExtension.cs

index 68c6156..1086ceb 100644 (file)
@@ -53,10 +53,19 @@ namespace Tizen.NUI.Components.Extension
                 slidingAnimation.Stop();
             }
 
-            slidingAnimation.Clear();
-            slidingAnimation.AnimateTo(thumb, "PositionX", switchButton.IsSelected ? track.Size.Width - thumb.Size.Width : 0);
-            slidingAnimation.EndAction = Animation.EndActions.StopFinal;
-            slidingAnimation.Play();
+            float destinationPosX = switchButton.IsSelected ? track.Size.Width - thumb.Size.Width : 0;
+
+            if (switchButton.IsOnWindow)
+            {
+                slidingAnimation.Clear();
+                slidingAnimation.AnimateTo(thumb, "PositionX", destinationPosX);
+                slidingAnimation.EndAction = Animation.EndActions.StopFinal;
+                slidingAnimation.Play();
+            }
+            else
+            {
+                thumb.PositionX = destinationPosX;
+            }
         }
 
         public override void OnDispose(Button button)