Refactored NinePatch buttons to be responsive.
authorAndrzej Krawczyk <a.krawczyk@samsung.com>
Fri, 10 Sep 2021 15:21:03 +0000 (17:21 +0200)
committerPiotr Czaja <p.czaja@samsung.com>
Tue, 14 Sep 2021 11:01:36 +0000 (13:01 +0200)
15 files changed:
Fitness/Views/Styles/BigLightButtonStyle.cs
Fitness/Views/Styles/DirectionButtonStyle.cs
Fitness/Views/Styles/NinePatchButtonStyle.cs
Fitness/res/styles/button/9patch_fill1.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_fill2.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_fill4.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_fill6.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_fill8.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_fill_white.png [deleted file]
Fitness/res/styles/button/9patch_outline1.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_outline2.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_outline4.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_outline6.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_outline8.png [new file with mode: 0644]
Fitness/res/styles/button/9patch_outline_white.png [deleted file]

index 0cd80066c611917ecf9f8385f6cc5a0593249338..735af6885690a19b66447e9dbd9f978da98b4188 100644 (file)
@@ -4,7 +4,7 @@
     {
         public BigLightButtonStyle()
         {
-            Text.PixelSize = 40.0f;
+            Text.PixelSize = UnitsUtils.UnitsToPixels(10.0f);
         }
     }
 }
index 6bdab3ca5d2cf8b84538d5dda957a308df55f582..de69ca4c44c9eef230004e9e3b49318f050d64de 100644 (file)
@@ -36,7 +36,7 @@ namespace Fitness.Views.Styles
         public DirectionButtonStyle(Direction direction)
         {
             Text.TextColor.Disabled = new Color("#C3CAD2");
-            Text.PixelSize = 24.0f;
+            Text.PixelSize = UnitsUtils.UnitsToPixels(6.0f);
 
             NinePatchBackgroundColor.Disabled = NinePatchBackgroundColor.Normal;
             NinePatchFrameColor.Disabled = NinePatchFrameColor.Normal;
@@ -45,13 +45,13 @@ namespace Fitness.Views.Styles
             {
                 case Direction.Previous:
                     Text.HorizontalAlignment = HorizontalAlignment.Begin;
-                    TextPadding = new Extents(20, 0, 0, 0);
+                    TextPadding = new Extents(UnitsUtils.UnitsToPixels((ushort)5), 0, 0, 0);
                     IconRelativeOrientation = Button.IconOrientation.Left;
                     break;
 
                 case Direction.Next:
                     Text.HorizontalAlignment = HorizontalAlignment.End;
-                    IconPadding = new Extents(20, 0, 0, 0);
+                    IconPadding = new Extents(UnitsUtils.UnitsToPixels((ushort)5), 0, 0, 0);
                     IconRelativeOrientation = Button.IconOrientation.Right;
                     break;
 
@@ -62,6 +62,7 @@ namespace Fitness.Views.Styles
             Icon = new ImageViewStyle
             {
                 ResourceUrl = GetArrowIconPaths(direction),
+                Size = new Size2D(UnitsUtils.UnitsToPixels(20), UnitsUtils.UnitsToPixels(20)),
             };
         }
 
index ecabe268c2ce5bc06556da6555db24035646a334..fc3a1412fb1c7efba36029dfcaa93eb87eb7340e 100644 (file)
@@ -6,6 +6,11 @@ namespace Fitness.Views.Styles
 {
     public class NinePatchButtonStyle : ButtonStyle
     {
+        private const string Path = "*Resource*/styles/button/";
+        private const string Background = "9patch_fill";
+        private const string Frame = "9patch_outline";
+        private const string End = ".png";
+
         public NinePatchButtonStyle()
         {
             // To avoid blinking:
@@ -13,13 +18,11 @@ namespace Fitness.Views.Styles
 
             Text = new TextLabelStyle
             {
-                PixelSize = 32.0f,
+                PixelSize = UnitsUtils.UnitsToPixels(8.0f),
                 FontFamily = "BreezeSans",
             };
 
-            NinePatchBackgroundImageUrl = "*Resource*/styles/button/9patch_fill_white.png";
-
-            NinePatchFrameImageUrl = "*Resource*/styles/button/9patch_outline_white.png";
+            SetImagesUrl();
         }
 
         public string NinePatchBackgroundImageUrl { get; set; }
@@ -29,5 +32,14 @@ namespace Fitness.Views.Styles
         public string NinePatchFrameImageUrl { get; set; }
 
         public Selector<Color> NinePatchFrameColor { get; set; }
+
+        private void SetImagesUrl()
+        {
+            int ninePatchSize = (int)Config.PixelsPerUnit;
+
+            NinePatchBackgroundImageUrl = Path + Background + ninePatchSize + End;
+
+            NinePatchFrameImageUrl = Path + Frame + ninePatchSize + End;
+        }
     }
 }
diff --git a/Fitness/res/styles/button/9patch_fill1.png b/Fitness/res/styles/button/9patch_fill1.png
new file mode 100644 (file)
index 0000000..83e7979
Binary files /dev/null and b/Fitness/res/styles/button/9patch_fill1.png differ
diff --git a/Fitness/res/styles/button/9patch_fill2.png b/Fitness/res/styles/button/9patch_fill2.png
new file mode 100644 (file)
index 0000000..5fa981d
Binary files /dev/null and b/Fitness/res/styles/button/9patch_fill2.png differ
diff --git a/Fitness/res/styles/button/9patch_fill4.png b/Fitness/res/styles/button/9patch_fill4.png
new file mode 100644 (file)
index 0000000..c1ad008
Binary files /dev/null and b/Fitness/res/styles/button/9patch_fill4.png differ
diff --git a/Fitness/res/styles/button/9patch_fill6.png b/Fitness/res/styles/button/9patch_fill6.png
new file mode 100644 (file)
index 0000000..c104d38
Binary files /dev/null and b/Fitness/res/styles/button/9patch_fill6.png differ
diff --git a/Fitness/res/styles/button/9patch_fill8.png b/Fitness/res/styles/button/9patch_fill8.png
new file mode 100644 (file)
index 0000000..8236642
Binary files /dev/null and b/Fitness/res/styles/button/9patch_fill8.png differ
diff --git a/Fitness/res/styles/button/9patch_fill_white.png b/Fitness/res/styles/button/9patch_fill_white.png
deleted file mode 100644 (file)
index c1ad008..0000000
Binary files a/Fitness/res/styles/button/9patch_fill_white.png and /dev/null differ
diff --git a/Fitness/res/styles/button/9patch_outline1.png b/Fitness/res/styles/button/9patch_outline1.png
new file mode 100644 (file)
index 0000000..b9bea7a
Binary files /dev/null and b/Fitness/res/styles/button/9patch_outline1.png differ
diff --git a/Fitness/res/styles/button/9patch_outline2.png b/Fitness/res/styles/button/9patch_outline2.png
new file mode 100644 (file)
index 0000000..fffd0aa
Binary files /dev/null and b/Fitness/res/styles/button/9patch_outline2.png differ
diff --git a/Fitness/res/styles/button/9patch_outline4.png b/Fitness/res/styles/button/9patch_outline4.png
new file mode 100644 (file)
index 0000000..990b5cf
Binary files /dev/null and b/Fitness/res/styles/button/9patch_outline4.png differ
diff --git a/Fitness/res/styles/button/9patch_outline6.png b/Fitness/res/styles/button/9patch_outline6.png
new file mode 100644 (file)
index 0000000..092bfb7
Binary files /dev/null and b/Fitness/res/styles/button/9patch_outline6.png differ
diff --git a/Fitness/res/styles/button/9patch_outline8.png b/Fitness/res/styles/button/9patch_outline8.png
new file mode 100644 (file)
index 0000000..b3aacef
Binary files /dev/null and b/Fitness/res/styles/button/9patch_outline8.png differ
diff --git a/Fitness/res/styles/button/9patch_outline_white.png b/Fitness/res/styles/button/9patch_outline_white.png
deleted file mode 100644 (file)
index 990b5cf..0000000
Binary files a/Fitness/res/styles/button/9patch_outline_white.png and /dev/null differ