[NUI] Fix Slider ValueIndicatorImage and Thumb size (#5002)
authorSeoyeon2Kim <34738918+Seoyeon2Kim@users.noreply.github.com>
Fri, 17 Feb 2023 03:57:02 +0000 (12:57 +0900)
committerEunki Hong <h.pichulia@gmail.com>
Tue, 21 Feb 2023 11:04:00 +0000 (20:04 +0900)
- Update Slider ValueIndicatorImage / Text to change its size depending
on the content.
- Thumb size uses natural size of its image size.
- Update Slider style guide sample for ValueIndicator

Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
src/Tizen.NUI.Components/Controls/Slider.Internal.cs
src/Tizen.NUI.Components/Theme/DefaultThemeCommon.cs
test/Tizen.NUI.StyleGuide/Examples/SliderExample.cs

index d3e785a..b89efda 100755 (executable)
@@ -325,9 +325,14 @@ namespace Tizen.NUI.Components
             {
                 valueIndicatorImage = new ImageView()
                 {
-                    WidthResizePolicy = ResizePolicyType.FitToChildren,
-                    HeightResizePolicy = ResizePolicyType.Fixed,
                     AccessibilityHidden = true,
+                    Layout = new LinearLayout()
+                    {
+                        LinearOrientation = LinearLayout.Orientation.Horizontal,
+                        HorizontalAlignment = HorizontalAlignment.Center,
+                        VerticalAlignment = VerticalAlignment.Center,
+                    },
+                    WidthSpecification = LayoutParamPolicies.WrapContent,
                 };
                 if (thumbImage != null)
                 {
index f587dce..4e82d50 100755 (executable)
@@ -273,7 +273,8 @@ namespace Tizen.NUI.Components
                 },
                 Thumb = new ImageViewStyle()
                 {
-                    Size = new Size(40, 40),
+                    WidthResizePolicy = ResizePolicyType.UseNaturalSize,
+                    HeightResizePolicy = ResizePolicyType.UseNaturalSize,
                     ResourceUrl = new Selector<string>()
                     {
                         Normal = FrameworkInformation.ResourcePath + "IoT_slider_handler_normal.png",
@@ -284,7 +285,9 @@ namespace Tizen.NUI.Components
                 },
                 ValueIndicatorImage = new ImageViewStyle()
                 {
-                    Size = new Size(43, 40),
+                    SizeHeight = 40,
+                    WidthResizePolicy = ResizePolicyType.FitToChildren,
+                    Margin = new Extents(8, 8, 0, 0),
                     BorderlineWidth = 1.0f,
                     BorderlineColor = new Color("#FF6200"),
                     BackgroundColor = new Color(1.0f, 1.0f, 1.0f, 0.0f),
@@ -293,6 +296,7 @@ namespace Tizen.NUI.Components
                 ValueIndicatorText = new TextLabelStyle()
                 {
                     SizeHeight = 24,
+                    WidthResizePolicy = ResizePolicyType.UseNaturalSize,
                     PixelSize = 16,
                     TextColor = new Color("#FF6200"),
                     FontSizeScale = FontSizeScale.UseSystemSetting,
index 113130a..58694ed 100644 (file)
@@ -87,8 +87,10 @@ namespace Tizen.NUI.StyleGuide
                 MaxValue = 100,
                 CurrentValue = 100,
                 WidthSpecification = 300,
+                IsValueShown = true,
             };
             rootContent.Add(completedSlider);
+            completedSlider.ValueChanged += OnValueChanged;
 
             verticalSlider = new Slider()
             {
@@ -102,5 +104,14 @@ namespace Tizen.NUI.StyleGuide
 
             Content = rootContent;
         }
+
+        private void OnValueChanged(object sender, SliderValueChangedEventArgs args)
+        {
+            Slider source = sender as Slider;
+            if (source != null)
+            {
+                source.ValueIndicatorText = args.CurrentValue.ToString();
+            }
+        }
     }
 }