diff options
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages/GridGallery.cs')
-rw-r--r-- | Xamarin.Forms.Controls/GalleryPages/GridGallery.cs | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs b/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs new file mode 100644 index 00000000..d786a81b --- /dev/null +++ b/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Xamarin.Forms.Controls +{ + + public class GridGallery : ContentPage + { + public GridGallery () + { + var layout = new StackLayout { + Orientation = StackOrientation.Vertical + }; + + //ColumnTypes + layout.Children.Add (new Label { Text = "Column Types:" }); + var grid = new Grid { + ColumnDefinitions = { + new ColumnDefinition { Width = 80 }, + new ColumnDefinition (), + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) } + }, + BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee) + }; + + grid.Children.Add (new Label { + Text = "Absolute Width", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 0, 0); + grid.Children.Add (new Label { + Text = "Auto Width", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 1, 0); + grid.Children.Add (new Label { + Text = "Star", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 2, 0); + layout.Children.Add (grid); + + //Star + layout.Children.Add (new Label { Text = "Star Columns:" }); + grid = new Grid { + ColumnDefinitions = { + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (2, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (3, GridUnitType.Star) }, + }, + BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee), + ColumnSpacing = 0, + RowSpacing = 0, + }; + + grid.Children.Add (new Label { + Text = "*", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 0, 0); + grid.Children.Add (new Label { + Text = "**", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 1, 0); + grid.Children.Add (new Label { + Text = "***", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, 2, 0); + layout.Children.Add (grid); + + //Alignment + layout.Children.Add (new Label { Text = "Alignment:" }); + grid = new Grid { + ColumnDefinitions = { + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + }, + BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee) + }; + + grid.Children.Add (new Label { + Text = "Right", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + HorizontalOptions = LayoutOptions.End, + }, 0, 0); + grid.Children.Add (new Label { + Text = "Center", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + HorizontalOptions = LayoutOptions.Center, + + }, 1, 0); + grid.Children.Add (new Label { + Text = "Left", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + HorizontalOptions = LayoutOptions.Start, + }, 2, 0); + grid.Children.Add (new Label { + Text = "Fill", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + HorizontalOptions = LayoutOptions.Fill, + }, 3, 0); + layout.Children.Add (grid); + + //Spanning + layout.Children.Add (new Label { Text = "Spans:" }); + grid = new Grid { + ColumnDefinitions = { + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }, + }, + BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee), + ColumnSpacing = 0, + RowSpacing = 0 + }; + + for (var i=0;i<5;i++) + for (var j=0;j<5;j++) + grid.Children.Add (new Label { + Text = "Unit", + BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc), + }, i, j); + + + grid.Children.Add (new Label { + Text = "Spanning 4 columns", + BackgroundColor = Color.Red, + }, 0,4,0,1); + grid.Children.Add (new Label { + Text = "Spanning 3 rows", + BackgroundColor = Color.Gray, + }, 4,5, 0,3); + grid.Children.Add (new Label { + Text = "a block 3x3", + BackgroundColor = Color.Green, + }, 1,4,1,4); + layout.Children.Add (grid); + + + //Change Width + var col0 = new ColumnDefinition { Width = 40 }; + var col1 = new ColumnDefinition { Width = 80 }; + + grid = new Grid { + ColumnDefinitions = new ColumnDefinitionCollection { + col0, col1 + } + }; + + grid.Children.Add (new BoxView { BackgroundColor = Color.Red }); + grid.Children.Add (new BoxView { BackgroundColor = Color.Blue },1,0); + + layout.Children.Add (grid); + layout.Children.Add (new Button { + Text = "ChangeWidth", + Command = new Command (()=>{ + var t = col0.Width; + col0.Width = col1.Width; + col1.Width = t; + }) + }); + + Content = new ScrollView { + Content = layout, + }; + + + + } + } +} |