From 41763299671bb7e9e8068c17cd2ecebdd3622f7c Mon Sep 17 00:00:00 2001 From: Adrian Knight Date: Sat, 26 Nov 2016 12:16:10 -0600 Subject: [PATCH] added sample code --- .../Bugzilla47923.cs | 102 +++++++++++++++++++++ .../Xamarin.Forms.Controls.Issues.Shared.projitems | 1 + 2 files changed, 103 insertions(+) create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla47923.cs diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla47923.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla47923.cs new file mode 100644 index 0000000..3928740 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla47923.cs @@ -0,0 +1,102 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +// Apply the default category of "Issues" to all of the tests in this assembly +// We use this as a catch-all for tests which haven't been individually categorized +#if UITEST +[assembly: NUnit.Framework.Category("Issues")] +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Bugzilla, 47923, "Vectors don\'t work in Images, and work badly in Buttons", PlatformAffected.Android)] + public class Bugzilla47923 : TestNavigationPage // or TestMasterDetailPage, etc ... + { + protected override void Init() + { + PushAsync(new LandingPage()); + } + } + + public class VectorImagePage : ContentPage + { + public VectorImagePage(Aspect aspect) + { + var scrollView = new ScrollView(); + var stackLayout = new StackLayout + { + Orientation = StackOrientation.Vertical, + Spacing = 10 + }; + + var vectors = new[] { "cartman", "heart", "error" }; + + for (var i = 0; i < vectors.Length; i++) + { + for (var j = 0; j < 3; j++) + { + var image = new Image + { + Source = vectors[i], + WidthRequest = j == 1 ? 150 : 300, + HeightRequest = j == 2 ? 150 : 300, + BackgroundColor = i == 0 ? Color.Red : (i == 1 ? Color.Green : Color.Yellow), + HorizontalOptions = LayoutOptions.Center, + Aspect = aspect + }; + stackLayout.Children.Add(image); + } + } + + scrollView.Content = stackLayout; + Content = scrollView; + } + } + + public class LandingPage : ContentPage + { + public LandingPage() + { + var scrollView = new ScrollView(); + var stackLayout = new StackLayout + { + Orientation = StackOrientation.Vertical, + HorizontalOptions = LayoutOptions.Center, + Spacing = 10 + }; + + var button1 = new Button + { + Text = "AspectFit", + Command = new Command(() => { Navigation.PushAsync(new VectorImagePage(Aspect.AspectFit)); }), + HorizontalOptions = LayoutOptions.Center + }; + stackLayout.Children.Add(button1); + + var button2 = new Button + { + Text = "AspectFill", + Command = new Command(() => { Navigation.PushAsync(new VectorImagePage(Aspect.AspectFill)); }), + HorizontalOptions = LayoutOptions.Center + }; + stackLayout.Children.Add(button2); + + var button3 = new Button + { + Text = "Fill", + Command = new Command(() => { Navigation.PushAsync(new VectorImagePage(Aspect.Fill)); }), + HorizontalOptions = LayoutOptions.Center + }; + stackLayout.Children.Add(button3); + + scrollView.Content = stackLayout; + Content = scrollView; + } + } +} \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index 40da9e9..1bb0a0c 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@ -168,6 +168,7 @@ + -- 2.7.4