public SettingsItem(TypeItemsGrid typeGrid) { this.gridPosition = new Grid(); this.HorizontalOptions = LayoutOptions.FillAndExpand; this.VerticalOptions = LayoutOptions.FillAndExpand; this.Children.Add(gridPosition); gridPosition.Margin = new Thickness(15, 10, 15, 0); gridPosition.ColumnSpacing = 0; gridPosition.RowSpacing = 6; gridPosition.VerticalOptions = LayoutOptions.FillAndExpand; CrearGrid(typeGrid); }
/* * public async void OnClickItem(SettingsItem item) * { * * Color firstColor = item.BackgroundColor; * * Task.WaitAll(); * * await Task.WhenAll( * item.ColorTo(item.BackgroundColor, Color.FromRgb(200,200,200), c => item.BackgroundColor = c, 80)); * * await Task.WhenAll( * item.ColorTo(item.BackgroundColor, firstColor, c => item.BackgroundColor = c, 80)); * * } */ private void CrearGrid(TypeItemsGrid typeGrid) { switch (typeGrid) { case TypeItemsGrid.Slider: gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.15, GridUnitType.Auto) }); gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.22, GridUnitType.Auto) }); gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.30, GridUnitType.Auto) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.85, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.15, GridUnitType.Star) }); gridPosition.Children.Add(new SettingsTitleItem() { Text = "Title Text" }, 0, 0); gridPosition.Children.Add(new SettingsDetailItem() { Text = "Detail Text" }, 0, 1); gridPosition.Children.Add(new Label() { Text = "Value Slider", TextColor = Color.FromRgb(33, 150, 244), VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center }, 1, 2); break; case TypeItemsGrid.Switch: gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.1, GridUnitType.Auto) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.7, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.3, GridUnitType.Star) }); gridPosition.Children.Add(new SettingsTitleItem() { Text = "Title Text" }, 0, 0); break; case TypeItemsGrid.Entry: btnEntryType = new Button(); btnEntryType.Text = "Update"; btnEntryType.IsVisible = false; gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.2, GridUnitType.Auto) }); gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(0.3, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.65, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.35, GridUnitType.Star) }); gridPosition.Children.Add(new SettingsTitleItem() { Text = "Title Text" }, 0, 0); gridPosition.Children.Add(btnEntryType, 1, 1); //Grid.SetRowSpan(btnEntryType, 2) break; case TypeItemsGrid.Button: gridPosition.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.5, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.3, GridUnitType.Star) }); gridPosition.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(0.2, GridUnitType.Star) }); gridPosition.Children.Add(new SettingsTitleItem() { Text = "Title Text" }, 0, 0); gridPosition.Children.Add(new Label() { Text = "Option selected", TextColor = Color.FromRgb(33, 150, 244), VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center }, 2, 0); break; } }