/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { //TODO: use this.Content to load your game content here this.camera = new Camera (GraphicsDevice); this.ballView = new BallView (ballSimulation, Content, GraphicsDevice, camera); this.boxView = new BoxView (ballSimulation, Content, GraphicsDevice, camera); }
public Issue1097 () { Grid grid = new Grid { RowSpacing = 0, ColumnSpacing = 0, }; grid.AddRowDef(count: 2); grid.AddColumnDef(count : 2); grid.Children.Add(new BoxView() { Color = Color.Red }); var v2 = new BoxView { Color = Color.Blue }; Grid.SetColumn(v2, 1); grid.Children.Add(v2); var v3 = new BoxView { Color = Color.Green }; Grid.SetRow(v3, 1); grid.Children.Add(v3); var v4 = new BoxView { Color = Color.Purple }; Grid.SetRow(v4, 1); Grid.SetColumn(v4, 1); grid.Children.Add(v4); Content = grid; }
public void DefaultSize () { var box = new BoxView { IsPlatformEnabled = true, Platform = new UnitPlatform () }; var request = box.GetSizeRequest (double.PositiveInfinity, double.PositiveInfinity).Request; Assert.AreEqual (40, request.Width); Assert.AreEqual (40, request.Height); }
private BoxView InitializeBoxView(BoxModel boxModel, Color fill, Color stroke, float strokeThickness) { Rectangle rectangle = ShapeFactory.CreateRectangle(ConvertUnits.ToDisplayUnits(boxModel.Width), ConvertUnits.ToDisplayUnits(boxModel.Height), fill, stroke, strokeThickness); Sprite sprite = new Sprite(rectangle); sprite.Origin = new Vector2(sprite.Width/2, sprite.Height/2); BoxView boxView = new BoxView(boxModel, sprite); return boxView; }
public void TestConstructor () { var box = new BoxView { Color = new Color (0.2, 0.3, 0.4), WidthRequest=20, HeightRequest=30, IsPlatformEnabled = true, Platform = new UnitPlatform () }; Assert.AreEqual (new Color (0.2, 0.3, 0.4), box.Color); var request = box.GetSizeRequest (double.PositiveInfinity, double.PositiveInfinity).Request; Assert.AreEqual (20, request.Width); Assert.AreEqual (30, request.Height); }
public ViewCellTest () { var stackLayout = new StackLayout { Orientation = StackOrientation.Horizontal }; var label = new Label (); label.SetBinding (Label.TextProperty, "Text"); var box = new BoxView {WidthRequest = 100, HeightRequest = 10, Color = Color.Red}; stackLayout.Children.Add (label); stackLayout.Children.Add (box); View = stackLayout; }
protected override void Init () { var abs = new AbsoluteLayout(); var box = new BoxView { Color = Color.Red }; var label = new Label { BackgroundColor = Color.Green , InputTransparent = true }; abs.Children.Add(box, new Rectangle(0, 0, 1, 1), AbsoluteLayoutFlags.All); abs.Children.Add(label, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize), AbsoluteLayoutFlags.PositionProportional); label.Text = DateTime.Now.ToString(); box.GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => { label.Text = DateTime.Now.ToString(); }) }); Image img = new Image { Source = ImageSource.FromFile("oasis.jpg"), InputTransparent = true }; abs.Children.Add(img, new Rectangle(.5, .5, .5, .5), AbsoluteLayoutFlags.All); Content = abs ; }
public ClipToBoundsGallery () { var child1 = new BoxView { Color = Color.Red }; var child2 = new BoxView { Color = Color.Blue }; var button = new Button { Text = "Clip", BackgroundColor = Color.Green }; Padding = new Thickness (55); var layout = new AbsoluteLayout { Children = { {child1, new Rectangle (-50, 0, 100, 100)}, {child2, new Rectangle (0, -50, 100, 100)}, {button, new Rectangle (1.0, 0.5, 100, 100), AbsoluteLayoutFlags.PositionProportional} } }; button.Clicked += (sender, args) => layout.IsClippedToBounds = !layout.IsClippedToBounds; Content = layout; }
protected override void Init () { var boxview = new BoxView{ BackgroundColor = Color.Aqua, AutomationId = "Victory" }; var contentView = new ContentView { Content = boxview }; contentView.SetBinding (IsVisibleProperty, Binding.Create<SampleViewModel> (t => t.IsContentVisible)); var layout = new AbsoluteLayout { Children = { contentView } }; Content = layout; var vm = new SampleViewModel (); BindingContext = vm; vm.IsContentVisible = true; }
public ReferringSitesPage(ReferringSitesViewModel referringSitesViewModel, Repository repository, AnalyticsService analyticsService) : base(PageTitles.ReferringSitesPage, referringSitesViewModel, analyticsService) { const int titleRowHeight = 50; const int titleTopMargin = 15; var collectionView = new CollectionView { AutomationId = ReferringSitesPageAutomationIds.CollectionView, ItemTemplate = new ReferringSitesDataTemplateSelector(), SelectionMode = SelectionMode.Single }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(ReferringSitesViewModel.MobileReferringSitesList)); _refreshView = new RefreshView { AutomationId = ReferringSitesPageAutomationIds.RefreshView, CommandParameter = (repository.OwnerLogin, repository.Name), Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.RefreshControlColor)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(ReferringSitesViewModel.RefreshCommand)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(ReferringSitesViewModel.IsRefreshing)); //Add Title and Back Button to UIModalPresentationStyle.FormSheet if (Device.RuntimePlatform is Device.iOS) { var closeButton = new Button { AutomationId = ReferringSitesPageAutomationIds.CloseButton, Text = "Close", HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, HeightRequest = titleRowHeight * 3 / 5, Padding = new Thickness(5, 0) }; closeButton.Clicked += HandleCloseButtonClicked; closeButton.SetDynamicResource(Button.TextColorProperty, nameof(BaseTheme.NavigationBarTextColor)); closeButton.SetDynamicResource(Button.BorderColorProperty, nameof(BaseTheme.SettingsButtonBorderColor)); closeButton.SetDynamicResource(Button.BackgroundColorProperty, nameof(BaseTheme.NavigationBarBackgroundColor)); var titleRowBlurView = new BoxView { Opacity = 0.5 }; titleRowBlurView.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.PageBackgroundColor)); collectionView.Header = new BoxView { HeightRequest = titleRowHeight + titleTopMargin }; var titleLabel = new Label { FontAttributes = FontAttributes.Bold, Text = PageTitles.ReferringSitesPage, FontSize = 30 }; titleLabel.SetDynamicResource(Label.TextColorProperty, nameof(BaseTheme.TextColor)); closeButton.Margin = titleLabel.Margin = new Thickness(0, titleTopMargin, 0, 0); var activityIndicator = new ActivityIndicator { AutomationId = ReferringSitesPageAutomationIds.ActivityIndicator, }; activityIndicator.SetDynamicResource(ActivityIndicator.ColorProperty, nameof(BaseTheme.RefreshControlColor)); activityIndicator.SetBinding(IsVisibleProperty, nameof(ReferringSitesViewModel.IsActivityIndicatorVisible)); activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, nameof(ReferringSitesViewModel.IsActivityIndicatorVisible)); var relativeLayout = new RelativeLayout(); relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height)); relativeLayout.Children.Add(titleRowBlurView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(titleRowHeight)); relativeLayout.Children.Add(titleLabel, Constraint.Constant(10), Constraint.Constant(0)); relativeLayout.Children.Add(closeButton, Constraint.RelativeToParent(parent => parent.Width - GetWidth(parent, closeButton) - 10), Constraint.Constant(0), Constraint.RelativeToParent(parent => GetWidth(parent, closeButton))); relativeLayout.Children.Add(activityIndicator, Constraint.RelativeToParent(parent => parent.Width / 2 - GetWidth(parent, activityIndicator) / 2), Constraint.RelativeToParent(parent => parent.Height / 2 - GetHeight(parent, activityIndicator) / 2)); Content = relativeLayout; } else { Content = _refreshView; } }
private async void MostrarDetalleCompra() { if (CrossConnectivity.Current.IsConnected) { try { StackLayout stk1 = new StackLayout(); stk1.Orientation = StackOrientation.Horizontal; stkDatos.Children.Add(stk1); Label label1 = new Label(); label1.Text = "Factura: "; label1.FontSize = 23; label1.TextColor = Color.FromHex("#465B70"); label1.WidthRequest = 200; stk1.Children.Add(label1); Label entfactura = new Label(); entfactura.Text = _numero_factura.ToString(); entfactura.FontSize = 23; entfactura.TextColor = Color.FromHex("#000000"); entfactura.HorizontalOptions = LayoutOptions.FillAndExpand; stk1.Children.Add(entfactura); StackLayout stk2 = new StackLayout(); stk2.Orientation = StackOrientation.Horizontal; stkDatos.Children.Add(stk2); Label label2 = new Label(); label2.Text = "Fecha: "; label2.FontSize = 23; label2.TextColor = Color.FromHex("#465B70"); label2.WidthRequest = 200; stk2.Children.Add(label2); Label entfecha = new Label(); entfecha.Text = _fecha.ToString("dd/MM/yyyy"); entfecha.FontSize = 23; entfecha.TextColor = Color.FromHex("#000000"); entfecha.HorizontalOptions = LayoutOptions.FillAndExpand; stk2.Children.Add(entfecha); StackLayout stk3 = new StackLayout(); stk3.Orientation = StackOrientation.Horizontal; stkDatos.Children.Add(stk3); Label label3 = new Label(); label3.Text = "Proveedor: "; label3.FontSize = 23; label3.TextColor = Color.FromHex("#465B70"); label3.WidthRequest = 200; stk3.Children.Add(label3); Label entcliente = new Label(); entcliente.Text = _proveedor; entcliente.FontSize = 23; entcliente.TextColor = Color.FromHex("#000000"); entcliente.HorizontalOptions = LayoutOptions.FillAndExpand; stk3.Children.Add(entcliente); } catch (Exception err) { await DisplayAlert("ERROR", "Algo salio mal, intentelo de nuevo por favor", "OK"); } try { await Task.Delay(200); DetalleCompra _detaCompra = new DetalleCompra() { numero_factura = _numero_factura }; var json = JsonConvert.SerializeObject(_detaCompra); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); var result = await client.PostAsync("https://dmrbolivia.com/api_distribuidora/compras/listaDetalleCompraNombre.php", content); var jsonR = await result.Content.ReadAsStringAsync(); var dv_lista = JsonConvert.DeserializeObject <List <DetalleCompraNombre> >(jsonR); int numProd = 0; foreach (var item in dv_lista) { BoxView boxViewI = new BoxView(); boxViewI.HeightRequest = 1; boxViewI.BackgroundColor = Color.FromHex("#465B70"); stkPrd.Children.Add(boxViewI); numProd = numProd + 1; StackLayout stkP1 = new StackLayout(); stkP1.Orientation = StackOrientation.Horizontal; stkPrd.Children.Add(stkP1); Label label1 = new Label(); label1.Text = "Producto " + numProd.ToString() + ":"; label1.FontSize = 23; label1.TextColor = Color.FromHex("#465B70"); label1.WidthRequest = 200; stkP1.Children.Add(label1); Label entNomProd = new Label(); entNomProd.Text = item.display_text_nombre; entNomProd.FontSize = 23; entNomProd.TextColor = Color.FromHex("#000000"); entNomProd.HorizontalOptions = LayoutOptions.FillAndExpand; stkP1.Children.Add(entNomProd); StackLayout stkP2 = new StackLayout(); stkP2.Orientation = StackOrientation.Horizontal; stkPrd.Children.Add(stkP2); Label label2 = new Label(); label2.Text = "Cantidad:"; label2.FontSize = 23; label2.TextColor = Color.FromHex("#465B70"); label2.WidthRequest = 200; stkP2.Children.Add(label2); Label entCant = new Label(); entCant.Text = item.cantidad_compra.ToString(); entCant.FontSize = 23; entCant.TextColor = Color.FromHex("#000000"); entCant.HorizontalOptions = LayoutOptions.FillAndExpand; stkP2.Children.Add(entCant); StackLayout stkP3 = new StackLayout(); stkP3.Orientation = StackOrientation.Horizontal; stkPrd.Children.Add(stkP3); Label label3 = new Label(); label3.Text = "Precio:"; label3.FontSize = 23; label3.TextColor = Color.FromHex("#465B70"); label3.WidthRequest = 200; stkP3.Children.Add(label3); Label entPrec = new Label(); entPrec.Text = item.precio_producto.ToString("#.##") + " Bs."; entPrec.FontSize = 23; entPrec.TextColor = Color.FromHex("#000000"); entPrec.HorizontalOptions = LayoutOptions.FillAndExpand; stkP3.Children.Add(entPrec); StackLayout stkP4 = new StackLayout(); stkP4.Orientation = StackOrientation.Horizontal; stkPrd.Children.Add(stkP4); Label label4 = new Label(); label4.Text = "Descuento:"; label4.FontSize = 23; label4.TextColor = Color.FromHex("#465B70"); label4.WidthRequest = 200; stkP4.Children.Add(label4); Label entdesc = new Label(); entdesc.Text = item.descuento_producto.ToString("#.##") + " Bs."; entdesc.FontSize = 23; entdesc.TextColor = Color.FromHex("#000000"); entdesc.HorizontalOptions = LayoutOptions.FillAndExpand; stkP4.Children.Add(entdesc); if (item.descuento_producto == 0) { entdesc.Text = "0 Bs."; } StackLayout stkP5 = new StackLayout(); stkP5.Orientation = StackOrientation.Horizontal; stkPrd.Children.Add(stkP5); Label label5 = new Label(); label5.Text = "Subtotal:"; label5.FontSize = 23; label5.TextColor = Color.FromHex("#465B70"); label5.WidthRequest = 200; stkP5.Children.Add(label5); Label entenv = new Label(); entenv.Text = item.sub_total.ToString("#.##") + " Bs."; entenv.FontSize = 23; entenv.TextColor = Color.FromHex("#000000"); entenv.HorizontalOptions = LayoutOptions.FillAndExpand; stkP5.Children.Add(entenv); } } catch (Exception err) { await DisplayAlert("ERROR", "Algo salio mal, intentelo de nuevo por favor", "OK"); } try { await Task.Delay(500); ////Datos finales BoxView boxViewI = new BoxView(); boxViewI.HeightRequest = 1; boxViewI.BackgroundColor = Color.FromHex("#465B70"); stkFinal.Children.Add(boxViewI); StackLayout stack1 = new StackLayout(); stack1.Orientation = StackOrientation.Horizontal; stkFinal.Children.Add(stack1); Label labelF1 = new Label(); labelF1.Text = "Saldo: "; labelF1.FontSize = 23; labelF1.TextColor = Color.FromHex("#465B70"); labelF1.WidthRequest = 200; stack1.Children.Add(labelF1); Label enttipv = new Label(); enttipv.Text = _saldo.ToString("#.##") + " Bs."; enttipv.FontSize = 23; enttipv.TextColor = Color.FromHex("#000000"); enttipv.HorizontalOptions = LayoutOptions.FillAndExpand; stack1.Children.Add(enttipv); if (_saldo == 0) { enttipv.Text = "0 Bs."; } StackLayout stack2 = new StackLayout(); stack2.Orientation = StackOrientation.Horizontal; stkFinal.Children.Add(stack2); Label labelF2 = new Label(); labelF2.Text = "Total: "; labelF2.FontSize = 23; labelF2.TextColor = Color.FromHex("#465B70"); labelF2.WidthRequest = 200; stack2.Children.Add(labelF2); Label entest = new Label(); entest.Text = _total.ToString("#.##") + " Bs."; entest.FontSize = 23; entest.TextColor = Color.FromHex("#000000"); entest.HorizontalOptions = LayoutOptions.FillAndExpand; stack2.Children.Add(entest); } catch (Exception err) { await DisplayAlert("ERROR", "Algo salio mal, intentelo de nuevo por favor", "OK"); } } else { await DisplayAlert("Error", "Necesitas estar conectado a internet", "OK"); } }
// Issue1075 // BoxView doesn't update color public Issue1075 () { Label header = new Label { Text = "Picker", #pragma warning disable 618 Font = Font.BoldSystemFontOfSize(50), #pragma warning restore 618 HorizontalOptions = LayoutOptions.Center }; Picker picker = new Picker { Title = "Color", VerticalOptions = LayoutOptions.CenterAndExpand }; foreach (string color in new string[] { "Aqua", "Black", "Blue", "Fuschia", "Gray", "Green", "Lime", "Maroon", "Navy", "Olive", "Purple", "Red", "Silver", "Teal", "White", "Yellow" }) { picker.Items.Add(color); } // Create BoxView for displaying pickedColor BoxView boxView = new BoxView { WidthRequest = 150, HeightRequest = 150, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.CenterAndExpand }; var button = new Button { Text = "Change to blue", Command = new Command (() => boxView.BackgroundColor = Color.Aqua) }; picker.SelectedIndexChanged += (sender, args) => { if (picker.SelectedIndex == -1) { boxView.Color = Color.Default; } else { string selectedItem = picker.Items[picker.SelectedIndex]; FieldInfo colorField = typeof(Color).GetTypeInfo().GetDeclaredField(selectedItem); boxView.Color = (Color)colorField.GetValue(null); } }; // Accomodate iPhone status bar. Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 0); // Build the page. Content = new StackLayout { Children = { header, picker, boxView, button } }; }
public ListCuotas(List <Cuota> cuotas) { BackgroundColor = (Color)Application.Current.Resources["GrisColor"]; //BackgroundColor = Color.Gray; if (cuotas != null) { var grid = new Grid { Margin = new Thickness(20, 10), RowSpacing = 10 }; grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(2) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(40) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(2) }); grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }); //grid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }); int row = 0; bool colorLine = false; foreach (var i in cuotas) { grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(50) }); var backgraound = new BoxView { BackgroundColor = Color.White }; grid.Children.Add(backgraound, 0, row); Grid.SetColumnSpan(backgraound, 4); var boxLine = new BoxView { BackgroundColor = (Color)Application.Current.Resources[(colorLine ? "AquaColor" : "AmarilloColor")] }; grid.Children.Add(boxLine, 0, row); var stackFecha = new StackLayout { VerticalOptions = LayoutOptions.CenterAndExpand }; var dia = new Label { Text = i.dia.ToString(), TextColor = (Color)Application.Current.Resources["AzulColor"], FontSize = 18, FontAttributes = FontAttributes.Bold, HorizontalOptions = LayoutOptions.CenterAndExpand }; stackFecha.Children.Add(dia); var mes = new Label { Text = i.mes.ToUpperInvariant(), TextColor = (Color)Application.Current.Resources["AzulColor"], FontSize = 12, FontAttributes = FontAttributes.Bold, HorizontalOptions = LayoutOptions.CenterAndExpand }; stackFecha.Children.Add(mes); grid.Children.Add(stackFecha, 1, row); grid.Children.Add(new BoxView { BackgroundColor = Color.Gray, Margin = new Thickness(0, 6), Opacity = 0.5 }, 2, row); var stackDetalle = new StackLayout { VerticalOptions = LayoutOptions.CenterAndExpand, Margin = new Thickness(10, 0), Orientation = StackOrientation.Horizontal }; var labelNombre = new Label { Text = i.nombre, FontSize = 10, TextColor = (Color)Application.Current.Resources["AzulColor"], HorizontalOptions = LayoutOptions.StartAndExpand }; stackDetalle.Children.Add(labelNombre); if (i.monto > 0) { var labelMonto = new Label { Text = i.montoString, TextColor = Color.Gray, FontSize = 10, HorizontalOptions = LayoutOptions.EndAndExpand }; stackDetalle.Children.Add(labelMonto); } grid.Children.Add(stackDetalle, 3, row); row++; colorLine = !colorLine; } Children.Add(grid); } }
private void InitTabs() { _headerContainerGrid.Children.Clear(); _headerContainerGrid.ColumnDefinitions.Clear(); _headerContainerGrid.RowDefinitions.Clear(); var tabSize = (TabSizeOption.IsAbsolute && TabSizeOption.Value.Equals(0)) ? new GridLength(1, GridUnitType.Star) : TabSizeOption; for (int i = 0; i < ItemSource.Count; i++) { if (i > 0) { _headerContainerGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(TabSpacing, GridUnitType.Absolute) }); } _headerContainerGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = tabSize }); var tab = ItemSource[i]; tab.IsCurrent = i == _position; var headerLabel = new Label { Margin = new Thickness(0, 0, 0, 2), BindingContext = tab, VerticalTextAlignment = TextAlignment.Start, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center }; headerLabel.SetBinding(Label.TextProperty, "HeaderText"); headerLabel.SetBinding(Label.TextColorProperty, "HeaderTextColor"); headerLabel.SetBinding(Label.FontSizeProperty, "HeaderTabTextFontSize"); headerLabel.SetBinding(Label.FontFamilyProperty, "HeaderTabTextFontFamily"); headerLabel.SetBinding(Label.FontAttributesProperty, "HeaderTabTextFontAttributes"); var selectionBarBoxView = new BoxView { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.EndAndExpand, BindingContext = tab, HeightRequest = HeaderSelectionUnderlineThickness, WidthRequest = HeaderSelectionUnderlineWidth }; selectionBarBoxView.SetBinding(BoxView.IsVisibleProperty, "IsCurrent"); selectionBarBoxView.SetBinding(BoxView.ColorProperty, "HeaderSelectionUnderlineColor"); selectionBarBoxView.SetBinding(BoxView.WidthProperty, "HeaderSelectionUnderlineWidth"); selectionBarBoxView.SetBinding(BoxView.HeightProperty, "HeaderSelectionUnderlineThickness"); selectionBarBoxView.PropertyChanged += (object sender, PropertyChangedEventArgs e) => { if (e.PropertyName == "IsCurrent") { SetPosition(ItemSource.IndexOf((TabItem)((BoxView)sender).BindingContext)); } }; var selectionBarContainer = new StackLayout { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.End, BindingContext = tab, WidthRequest = HeaderSelectionUnderlineWidth, Children = { selectionBarBoxView }, Spacing = 0 }; selectionBarContainer.SetBinding(BoxView.WidthProperty, "HeaderSelectionUnderlineWidth"); var headerItemSL = new StackLayout { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.FillAndExpand, Children = { headerLabel, selectionBarContainer }, Spacing = 0 }; var tapRecognizer = new TapGestureRecognizer(); int capturedIndex = i; tapRecognizer.Tapped += (object s, EventArgs e) => { _supressCarouselViewPositionChangedEvent = true; SetPosition(capturedIndex); _supressCarouselViewPositionChangedEvent = false; }; headerItemSL.GestureRecognizers.Add(tapRecognizer); _headerContainerGrid.Children.Add(headerItemSL, i * 2, 0); } _carouselView.ItemsSource = ItemSource.Select(t => t.Content).ToArray(); }
public LoginPage() { NavigationPage.SetHasNavigationBar(this, false); // Status bar for iOS. var statusBar = new BoxView(); if (Device.OS == TargetPlatform.iOS) { statusBar.BackgroundColor = StyleManager.DarkAccentColor; statusBar.HeightRequest = 20; } // Application title & subtitle. var titleString = new FormattedString(); titleString.Spans.Add(new Span { ForegroundColor = StyleManager.AccentColor, FontAttributes = FontAttributes.Italic, FontSize = 40, Text = "Todo " }); titleString.Spans.Add(new Span { ForegroundColor = StyleManager.DarkAccentColor, FontAttributes = FontAttributes.Italic, FontSize = 32, Text = "app" }); var title = new DefaultLabel { FormattedText = titleString, HorizontalOptions = LayoutOptions.Center }; var subtitle = new ItalicLabel { Text = "Helping you doing everything", TextColor = StyleManager.AccentColor }; var titleLayout = new StackLayout { Children = { title, subtitle }, Spacing = 2, Padding = new Thickness(0, 30) }; // Start layout (down arrow). var login = new ItalicLabel { Text = "Log in", CustomFontSize = NamedSize.Medium }; var downArrow = new Image { Source = "down_button.png", HeightRequest = 60 }; var startLayout = new StackLayout { Padding = new Thickness(0, 100), Spacing = 18, Children = { login, downArrow } }; // Login layout. emailTextBox = new DefaultEntry { Placeholder = "Email" }; passwordTextBox = new DefaultEntry { Placeholder = "Password", IsPassword = true }; var entryLayout = new StackLayout { Spacing = 15, Children = { emailTextBox, passwordTextBox } }; submitButton = new DefaultButton { Command = new Command(Submit) }; signUpString = new FormattedString(); signUpString.Spans.Add(new Span { ForegroundColor = StyleManager.AccentColor, FontAttributes = FontAttributes.Italic }); signUpString.Spans.Add(new Span { ForegroundColor = StyleManager.DarkAccentColor, FontAttributes = FontAttributes.Bold }); var toggleModeLabel = new DefaultLabel { FormattedText = signUpString, HorizontalOptions = LayoutOptions.Center }; var signInLayout = new StackLayout { Padding = new Thickness(0, 20), Spacing = 30, Children = { submitButton, toggleModeLabel } }; var loginLayout = new StackLayout { Padding = new Thickness(0, 35), Children = { entryLayout, signInLayout }, IsVisible = false }; downArrow.GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => { loginLayout.IsVisible = true; startLayout.IsVisible = false; }) }); var toggleModeGestureRecognizer = new TapGestureRecognizer(); toggleModeGestureRecognizer.Tapped += (sender, ev) => toggleMode(); toggleModeLabel.GestureRecognizers.Add(toggleModeGestureRecognizer); // Main content layout. var contentLayout = new StackLayout { Padding = 25, HorizontalOptions = LayoutOptions.Center, Children = { titleLayout, startLayout, loginLayout } }; Content = new StackLayout { Children = { statusBar, contentLayout } }; setLoginMode(); }
private void LlenarGrillaDeMovimientos(List <string[]> movimientos) { var esTeclaPar = false; var listaMovimientos = new List <ClaseMovimiento>(); //Usamos for para ordenar los movimientos por fecha en forma descendente for (var indice = movimientos.Count - 1; indice >= 0; indice--) { var datosMovimiento = movimientos[indice]; //Sólo incluimos los movimientos (no eliminados) del producto seleccionado if (datosMovimiento[1] != _productoString[0] || datosMovimiento[datosMovimiento.Length - 2] == "Sí") { continue; } var datosParaVer = new List <string>(); var i = -1; foreach (var dato in datosMovimiento) { i += 1; //No incluimos Código y Nombre del producto, tampoco Eliminado y Eliminado Por porque son los movimientos (no eliminados) del producto seleccionado. if (i == 1 || i == 2 || i == datosMovimiento.Length - 2 || i == datosMovimiento.Length - 1) { continue; } datosParaVer.Add(_nombresColumnas[i] + " : " + dato); } var movimiento = new ClaseMovimiento(indice + 2, datosParaVer, esTeclaPar); listaMovimientos.Add(movimiento); esTeclaPar = !esTeclaPar; } var anchoColumnaEliminar = App.AnchoRetratoDePantalla / 6; var anchoColumnaDatos = anchoColumnaEliminar * 5; var vista = new ListView { RowHeight = 100, VerticalOptions = LayoutOptions.StartAndExpand, HorizontalOptions = LayoutOptions.Fill, ItemsSource = listaMovimientos, ItemTemplate = new DataTemplate(() => { // Datos var datos = new Label { FontSize = 15, TextColor = Color.FromHex("#1D1D1B"), VerticalOptions = LayoutOptions.CenterAndExpand, WidthRequest = anchoColumnaDatos }; datos.SetBinding(Label.TextProperty, "Datos"); // Separador var separador = new BoxView { WidthRequest = 2, BackgroundColor = Color.FromHex("#FFFFFF"), HeightRequest = 55 }; // Botón eliminar var etiquetaIconoEliminar = new Label { FontFamily = "FontAwesome5Solid.otf#Regular", HorizontalTextAlignment = TextAlignment.Center, FontSize = 22, TextColor = Color.FromHex("#ffffff"), VerticalTextAlignment = TextAlignment.Center, VerticalOptions = LayoutOptions.EndAndExpand, Text = "\uf2ed" }; var etiquetaEliminar = new Label { HorizontalTextAlignment = TextAlignment.Center, FontSize = 14, TextColor = Color.FromHex("#ffffff"), VerticalTextAlignment = TextAlignment.Center, VerticalOptions = LayoutOptions.StartAndExpand, Text = "Eliminar" }; var contenedorEliminar = new StackLayout { WidthRequest = anchoColumnaEliminar, Orientation = StackOrientation.Vertical, Children = { etiquetaIconoEliminar, etiquetaEliminar }, BackgroundColor = Color.FromHex("#FD8A18") }; contenedorEliminar.SetBinding(ClassIdProperty, "IdMovimiento"); contenedorEliminar.GestureRecognizers.Add(new TapGestureRecognizer(EliminarMovimiento)); // Teja var tecla = new StackLayout { Padding = 2, Spacing = 2, Orientation = StackOrientation.Horizontal, Children = { datos, separador, contenedorEliminar } }; tecla.SetBinding(BackgroundColorProperty, "ColorFondo"); return(new ViewCell { View = tecla }); }) }; ContenedorMovimientos.Children.Clear(); ContenedorMovimientos.Children.Add(vista); }
public pageAppConfig() { Core core = Core.GetCore(); AppConfig config = core.GetConfig(); bool ringtonePickerOpened = false; Title = "Application Configuration"; var defaultNotificationLabel = new Label { Text = "Default Notification Sound" }; var defaultNotificationLabelDesc = new Label { Text = "Represents the default ring tone to assign for new tasks." }; Button ringTonePickerBtn = new Button { Text = "Select RingTone", }; ringTonePickerBtn.Clicked += (sender, args) => { if (!ringtonePickerOpened) { DependencyService.Get <iRingTones>().SetSelectedRingTone(config.DefaultNotificationSound); ringtonePickerOpened = true; } DependencyService.Get <iRingTones>().GetRingTonePicker(); }; var fontLabel = new Label { Text = "Font" }; var fontPicker = new Picker(); fontPicker.Items.Add("Arial"); fontPicker.Items.Add("Courier"); fontPicker.Items.Add("Helvetica"); fontPicker.Items.Add("Times New Roman"); fontPicker.SetBinding(Entry.TextProperty, "Font"); fontPicker.Title = "Font"; fontPicker.SelectedIndex = 0; for (int i = 0; i < fontPicker.Items.Count; i++) { if (config.Theme.font == fontPicker.Items[i]) { fontPicker.SelectedIndex = i; break; } } var fontSizeLabel = new Label { Text = "Font Size" }; var fontSizePicker = new Picker(); fontSizePicker.Items.Add("Default"); fontSizePicker.Items.Add("Micro"); fontSizePicker.Items.Add("Small"); fontSizePicker.Items.Add("Medium"); fontSizePicker.Items.Add("Large"); fontSizePicker.SetBinding(Entry.TextProperty, "Font Size"); fontSizePicker.SelectedIndex = 0; string sizeToFind = config.sizeToName[config.Theme.fontSize]; var sizeArray = config.nameToSize.ToArray(); for (int i = 0; i < fontSizePicker.Items.Count; i++) { if (sizeToFind == fontSizePicker.Items[i]) { fontSizePicker.SelectedIndex = i; break; } } var fontColourLabel = new Label { Text = "Font Colour" }; var fontColourPicker = new Picker(); var colourArray = config.nameToColour.ToArray(); for (int i = 0; i < colourArray.Length; i++) { fontColourPicker.Items.Add(colourArray[i].Key); } fontColourPicker.SetBinding(Entry.TextProperty, "Font Colour"); fontColourPicker.Title = "Font Colour"; fontColourPicker.SelectedIndex = 0; string colourToFind = config.colourToName[config.Theme.fontColour]; for (int i = 0; i < colourArray.Length; i++) { if (colourToFind == colourArray[i].Key) { fontColourPicker.SelectedIndex = i; break; } } BoxView fontColourBoxView = new BoxView { WidthRequest = 20, HeightRequest = 20, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand }; fontColourBoxView.Color = config.nameToColour[colourToFind]; fontColourPicker.SelectedIndexChanged += (sender, args) => { if (fontColourPicker.SelectedIndex == -1) { fontColourBoxView.Color = Color.Default; } else { string colourName = fontColourPicker.Items[fontColourPicker.SelectedIndex]; fontColourBoxView.Color = config.nameToColour[colourName]; } }; var backgroundColourLabel = new Label { Text = "Background Colour" }; var backgroundColourPicker = new Picker(); for (int i = 0; i < colourArray.Length; i++) { backgroundColourPicker.Items.Add(colourArray[i].Key); } backgroundColourPicker.SetBinding(Entry.TextProperty, "Background Colour"); backgroundColourPicker.Title = "Background Colour"; backgroundColourPicker.SelectedIndex = 0; colourToFind = config.colourToName[config.Theme.backgroundColour]; for (int i = 0; i < colourArray.Length; i++) { if (colourToFind == colourArray[i].Key) { backgroundColourPicker.SelectedIndex = i; break; } } BoxView backgroundColourBoxView = new BoxView { WidthRequest = 20, HeightRequest = 20, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand }; backgroundColourBoxView.Color = config.nameToColour[colourToFind]; backgroundColourPicker.SelectedIndexChanged += (sender, args) => { if (backgroundColourPicker.SelectedIndex == -1) { backgroundColourBoxView.Color = Color.Default; } else { string colorName = backgroundColourPicker.Items[backgroundColourPicker.SelectedIndex]; backgroundColourBoxView.Color = config.nameToColour[colorName]; } }; var SaveButton = new Button { Text = "Save Configuration" }; SaveButton.Clicked += (sender, e) => { ThemeStruct themeStruct = config.Theme; if (backgroundColourPicker.Items[backgroundColourPicker.SelectedIndex] == fontColourPicker.Items[fontColourPicker.SelectedIndex]) { DisplayAlert("Error", "You cannot select the same background and foreground colour. Please correct your selection and try again.", "Ok"); } else { config.DefaultNotificationSound = DependencyService.Get <iRingTones>().GetSelectedRingTone(); themeStruct.backgroundColour = config.nameToColour[backgroundColourPicker.Items[backgroundColourPicker.SelectedIndex]]; themeStruct.font = fontPicker.Items[fontPicker.SelectedIndex]; themeStruct.fontColour = config.nameToColour[fontColourPicker.Items[fontColourPicker.SelectedIndex]]; themeStruct.fontSize = config.nameToSize[fontSizePicker.Items[fontSizePicker.SelectedIndex]]; config.Theme = themeStruct; } config.Write(core.SCHEDULEAPP_CONFIG_FILE); Navigation.PopToRootAsync(); }; ScrollView scrollView = new ScrollView { VerticalOptions = LayoutOptions.FillAndExpand, Content = new StackLayout { VerticalOptions = LayoutOptions.CenterAndExpand, Padding = new Thickness(20), Children = { defaultNotificationLabel, ringTonePickerBtn, fontLabel, fontPicker, fontSizeLabel, fontSizePicker, fontColourLabel, fontColourPicker, fontColourBoxView, backgroundColourLabel, backgroundColourPicker, backgroundColourBoxView, SaveButton } } }; this.Content = scrollView; }
private void InitializeComponent() { ResourceLoader.ResourceLoadingQuery resourceLoadingQuery = new ResourceLoader.ResourceLoadingQuery(); resourceLoadingQuery.set_AssemblyName(typeof(RatingChooser).GetTypeInfo().Assembly.GetName()); resourceLoadingQuery.set_ResourcePath("Views/RatingChooser.xaml"); resourceLoadingQuery.set_Instance((object)this); if (ResourceLoader.CanProvideContentFor(resourceLoadingQuery)) { this.__InitComponentRuntime(); } else if (XamlLoader.get_XamlFileProvider() != null && XamlLoader.get_XamlFileProvider()(((object)this).GetType()) != null) { this.__InitComponentRuntime(); } else { ScaleAnimation scaleAnimation = new ScaleAnimation(); RatingChooserViewModel chooserViewModel = new RatingChooserViewModel(); StaticResourceExtension resourceExtension1 = new StaticResourceExtension(); TranslateExtension translateExtension1 = new TranslateExtension(); Label label1 = new Label(); StaticResourceExtension resourceExtension2 = new StaticResourceExtension(); TranslateExtension translateExtension2 = new TranslateExtension(); Label label2 = new Label(); BindingExtension bindingExtension1 = new BindingExtension(); TranslateExtension translateExtension3 = new TranslateExtension(); StaticResourceExtension resourceExtension3 = new StaticResourceExtension(); TranslateExtension translateExtension4 = new TranslateExtension(); Button button1 = new Button(); StaticResourceExtension resourceExtension4 = new StaticResourceExtension(); BoxView boxView1 = new BoxView(); BindingExtension bindingExtension2 = new BindingExtension(); TranslateExtension translateExtension5 = new TranslateExtension(); StaticResourceExtension resourceExtension5 = new StaticResourceExtension(); TranslateExtension translateExtension6 = new TranslateExtension(); Button button2 = new Button(); StaticResourceExtension resourceExtension6 = new StaticResourceExtension(); BoxView boxView2 = new BoxView(); BindingExtension bindingExtension3 = new BindingExtension(); TranslateExtension translateExtension7 = new TranslateExtension(); StaticResourceExtension resourceExtension7 = new StaticResourceExtension(); TranslateExtension translateExtension8 = new TranslateExtension(); Button button3 = new Button(); StackLayout stackLayout = new StackLayout(); RatingChooser ratingChooser; NameScope nameScope = (NameScope)(NameScope.GetNameScope((BindableObject)(ratingChooser = this)) ?? (INameScope) new NameScope()); NameScope.SetNameScope((BindableObject)ratingChooser, (INameScope)nameScope); ((BindableObject)ratingChooser).SetValue((BindableProperty)BindableObject.BindingContextProperty, (object)"viewModels:RatingChooserViewModel"); ((BindableObject)ratingChooser).SetValue((BindableProperty)PopupPage.CloseWhenBackgroundIsClickedProperty, (object)false); ((BaseAnimation)scaleAnimation).set_DurationIn((uint)new UintTypeConverter().ConvertFromInvariantString("400")); ((BaseAnimation)scaleAnimation).set_DurationOut((uint)new UintTypeConverter().ConvertFromInvariantString("300")); ((BaseAnimation)scaleAnimation).set_EasingIn((Easing) new EasingTypeConverter().ConvertFromInvariantString("SinOut")); ((BaseAnimation)scaleAnimation).set_EasingOut((Easing) new EasingTypeConverter().ConvertFromInvariantString("SinIn")); ((FadeAnimation)scaleAnimation).set_HasBackgroundAnimation(true); scaleAnimation.set_PositionIn((MoveAnimationOptions)0); scaleAnimation.set_PositionOut((MoveAnimationOptions)0); scaleAnimation.set_ScaleIn(1.2); scaleAnimation.set_ScaleOut(0.8); ((BindableObject)ratingChooser).SetValue((BindableProperty)PopupPage.AnimationProperty, (object)scaleAnimation); ((BindableObject)ratingChooser).SetValue((BindableProperty)BindableObject.BindingContextProperty, (object)chooserViewModel); ((BindableObject)stackLayout).SetValue((BindableProperty)View.MarginProperty, (object)new Thickness(20.0, 0.0)); ((BindableObject)stackLayout).SetValue((BindableProperty)Layout.PaddingProperty, (object)new Thickness(20.0, 20.0, 20.0, 20.0)); ((BindableObject)stackLayout).SetValue((BindableProperty)VisualElement.BackgroundColorProperty, (object)new Color(0.878431379795074, 0.878431379795074, 0.878431379795074, 1.0)); ((BindableObject)stackLayout).SetValue((BindableProperty)View.HorizontalOptionsProperty, (object)(LayoutOptions)LayoutOptions.Center); ((BindableObject)stackLayout).SetValue((BindableProperty)View.VerticalOptionsProperty, (object)(LayoutOptions)LayoutOptions.Center); ((BindableObject)label1).SetValue((BindableProperty)VisualElement.MinimumHeightRequestProperty, (object)40.0); resourceExtension1.set_Key("RatingChooserTitleStyle"); StaticResourceExtension resourceExtension8 = resourceExtension1; XamlServiceProvider xamlServiceProvider1 = new XamlServiceProvider(); Type type1 = typeof(IProvideValueTarget); object[] objArray1 = new object[0 + 3]; objArray1[0] = (object)label1; objArray1[1] = (object)stackLayout; objArray1[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider1; object obj1 = (object)(valueTargetProvider1 = new SimpleValueTargetProvider(objArray1, (object)VisualElement.StyleProperty, (INameScope)nameScope)); xamlServiceProvider1.Add(type1, (object)valueTargetProvider1); xamlServiceProvider1.Add(typeof(IReferenceProvider), obj1); Type type2 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver1 = new XmlNamespaceResolver(); namespaceResolver1.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver1.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver1.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver1.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver1.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver1.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver1.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver1.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver1 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver1, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider1.Add(type2, (object)xamlTypeResolver1); xamlServiceProvider1.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(41, 13))); object obj2 = ((IMarkupExtension)resourceExtension8).ProvideValue((IServiceProvider)xamlServiceProvider1); ((NavigableElement)label1).set_Style((Style)obj2); translateExtension1.Text = "Rating_EvaulationPopupTitle"; TranslateExtension translateExtension9 = translateExtension1; XamlServiceProvider xamlServiceProvider2 = new XamlServiceProvider(); Type type3 = typeof(IProvideValueTarget); object[] objArray2 = new object[0 + 3]; objArray2[0] = (object)label1; objArray2[1] = (object)stackLayout; objArray2[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider2; object obj3 = (object)(valueTargetProvider2 = new SimpleValueTargetProvider(objArray2, (object)Label.TextProperty, (INameScope)nameScope)); xamlServiceProvider2.Add(type3, (object)valueTargetProvider2); xamlServiceProvider2.Add(typeof(IReferenceProvider), obj3); Type type4 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver2 = new XmlNamespaceResolver(); namespaceResolver2.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver2.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver2.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver2.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver2.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver2.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver2.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver2.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver2 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver2, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider2.Add(type4, (object)xamlTypeResolver2); xamlServiceProvider2.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(42, 13))); object obj4 = ((IMarkupExtension)translateExtension9).ProvideValue((IServiceProvider)xamlServiceProvider2); label1.set_Text((string)obj4); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)label1); ((BindableObject)label2).SetValue((BindableProperty)VisualElement.MinimumHeightRequestProperty, (object)40.0); resourceExtension2.set_Key("RatingChooserDescriptionStyle"); StaticResourceExtension resourceExtension9 = resourceExtension2; XamlServiceProvider xamlServiceProvider3 = new XamlServiceProvider(); Type type5 = typeof(IProvideValueTarget); object[] objArray3 = new object[0 + 3]; objArray3[0] = (object)label2; objArray3[1] = (object)stackLayout; objArray3[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider3; object obj5 = (object)(valueTargetProvider3 = new SimpleValueTargetProvider(objArray3, (object)VisualElement.StyleProperty, (INameScope)nameScope)); xamlServiceProvider3.Add(type5, (object)valueTargetProvider3); xamlServiceProvider3.Add(typeof(IReferenceProvider), obj5); Type type6 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver3 = new XmlNamespaceResolver(); namespaceResolver3.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver3.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver3.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver3.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver3.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver3.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver3.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver3.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver3 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver3, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider3.Add(type6, (object)xamlTypeResolver3); xamlServiceProvider3.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(45, 13))); object obj6 = ((IMarkupExtension)resourceExtension9).ProvideValue((IServiceProvider)xamlServiceProvider3); ((NavigableElement)label2).set_Style((Style)obj6); translateExtension2.Text = "Rating_EvaulationPopupDescription"; TranslateExtension translateExtension10 = translateExtension2; XamlServiceProvider xamlServiceProvider4 = new XamlServiceProvider(); Type type7 = typeof(IProvideValueTarget); object[] objArray4 = new object[0 + 3]; objArray4[0] = (object)label2; objArray4[1] = (object)stackLayout; objArray4[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider4; object obj7 = (object)(valueTargetProvider4 = new SimpleValueTargetProvider(objArray4, (object)Label.TextProperty, (INameScope)nameScope)); xamlServiceProvider4.Add(type7, (object)valueTargetProvider4); xamlServiceProvider4.Add(typeof(IReferenceProvider), obj7); Type type8 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver4 = new XmlNamespaceResolver(); namespaceResolver4.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver4.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver4.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver4.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver4.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver4.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver4.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver4.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver4 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver4, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider4.Add(type8, (object)xamlTypeResolver4); xamlServiceProvider4.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(46, 13))); object obj8 = ((IMarkupExtension)translateExtension10).ProvideValue((IServiceProvider)xamlServiceProvider4); label2.set_Text((string)obj8); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)label2); bindingExtension1.set_Path("OnButtonClickCommand"); BindingBase bindingBase1 = ((IMarkupExtension <BindingBase>)bindingExtension1).ProvideValue((IServiceProvider)null); ((BindableObject)button1).SetBinding((BindableProperty)Button.CommandProperty, bindingBase1); translateExtension3.Text = "Rating_EvaulationLikeTitle"; TranslateExtension translateExtension11 = translateExtension3; XamlServiceProvider xamlServiceProvider5 = new XamlServiceProvider(); Type type9 = typeof(IProvideValueTarget); object[] objArray5 = new object[0 + 3]; objArray5[0] = (object)button1; objArray5[1] = (object)stackLayout; objArray5[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider5; object obj9 = (object)(valueTargetProvider5 = new SimpleValueTargetProvider(objArray5, (object)Button.CommandParameterProperty, (INameScope)nameScope)); xamlServiceProvider5.Add(type9, (object)valueTargetProvider5); xamlServiceProvider5.Add(typeof(IReferenceProvider), obj9); Type type10 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver5 = new XmlNamespaceResolver(); namespaceResolver5.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver5.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver5.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver5.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver5.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver5.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver5.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver5.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver5 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver5, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider5.Add(type10, (object)xamlTypeResolver5); xamlServiceProvider5.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(49, 13))); object obj10 = ((IMarkupExtension)translateExtension11).ProvideValue((IServiceProvider)xamlServiceProvider5); ((BindableObject)button1).SetValue((BindableProperty)Button.CommandParameterProperty, obj10); resourceExtension3.set_Key("RatingChooserButtonStyle"); StaticResourceExtension resourceExtension10 = resourceExtension3; XamlServiceProvider xamlServiceProvider6 = new XamlServiceProvider(); Type type11 = typeof(IProvideValueTarget); object[] objArray6 = new object[0 + 3]; objArray6[0] = (object)button1; objArray6[1] = (object)stackLayout; objArray6[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider6; object obj11 = (object)(valueTargetProvider6 = new SimpleValueTargetProvider(objArray6, (object)VisualElement.StyleProperty, (INameScope)nameScope)); xamlServiceProvider6.Add(type11, (object)valueTargetProvider6); xamlServiceProvider6.Add(typeof(IReferenceProvider), obj11); Type type12 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver6 = new XmlNamespaceResolver(); namespaceResolver6.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver6.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver6.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver6.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver6.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver6.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver6.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver6.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver6 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver6, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider6.Add(type12, (object)xamlTypeResolver6); xamlServiceProvider6.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(50, 13))); object obj12 = ((IMarkupExtension)resourceExtension10).ProvideValue((IServiceProvider)xamlServiceProvider6); ((NavigableElement)button1).set_Style((Style)obj12); translateExtension4.Text = "Rating_EvaulationLikeTitle"; TranslateExtension translateExtension12 = translateExtension4; XamlServiceProvider xamlServiceProvider7 = new XamlServiceProvider(); Type type13 = typeof(IProvideValueTarget); object[] objArray7 = new object[0 + 3]; objArray7[0] = (object)button1; objArray7[1] = (object)stackLayout; objArray7[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider7; object obj13 = (object)(valueTargetProvider7 = new SimpleValueTargetProvider(objArray7, (object)Button.TextProperty, (INameScope)nameScope)); xamlServiceProvider7.Add(type13, (object)valueTargetProvider7); xamlServiceProvider7.Add(typeof(IReferenceProvider), obj13); Type type14 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver7 = new XmlNamespaceResolver(); namespaceResolver7.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver7.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver7.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver7.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver7.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver7.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver7.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver7.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver7 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver7, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider7.Add(type14, (object)xamlTypeResolver7); xamlServiceProvider7.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(51, 13))); object obj14 = ((IMarkupExtension)translateExtension12).ProvideValue((IServiceProvider)xamlServiceProvider7); button1.set_Text((string)obj14); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)button1); ((BindableObject)boxView1).SetValue((BindableProperty)View.MarginProperty, (object)new Thickness(0.0, 4.0)); ((BindableObject)boxView1).SetValue((BindableProperty)VisualElement.HeightRequestProperty, (object)1.0); ((BindableObject)boxView1).SetValue((BindableProperty)View.HorizontalOptionsProperty, (object)(LayoutOptions)LayoutOptions.FillAndExpand); resourceExtension4.set_Key("RatingChooserSeparatorColor"); StaticResourceExtension resourceExtension11 = resourceExtension4; XamlServiceProvider xamlServiceProvider8 = new XamlServiceProvider(); Type type15 = typeof(IProvideValueTarget); object[] objArray8 = new object[0 + 3]; objArray8[0] = (object)boxView1; objArray8[1] = (object)stackLayout; objArray8[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider8; object obj15 = (object)(valueTargetProvider8 = new SimpleValueTargetProvider(objArray8, (object)BoxView.ColorProperty, (INameScope)nameScope)); xamlServiceProvider8.Add(type15, (object)valueTargetProvider8); xamlServiceProvider8.Add(typeof(IReferenceProvider), obj15); Type type16 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver8 = new XmlNamespaceResolver(); namespaceResolver8.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver8.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver8.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver8.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver8.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver8.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver8.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver8.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver8 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver8, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider8.Add(type16, (object)xamlTypeResolver8); xamlServiceProvider8.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(56, 13))); object obj16 = ((IMarkupExtension)resourceExtension11).ProvideValue((IServiceProvider)xamlServiceProvider8); boxView1.set_Color((Color)obj16); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)boxView1); bindingExtension2.set_Path("OnButtonClickCommand"); BindingBase bindingBase2 = ((IMarkupExtension <BindingBase>)bindingExtension2).ProvideValue((IServiceProvider)null); ((BindableObject)button2).SetBinding((BindableProperty)Button.CommandProperty, bindingBase2); translateExtension5.Text = "Rating_EvaulationDislikeTitle"; TranslateExtension translateExtension13 = translateExtension5; XamlServiceProvider xamlServiceProvider9 = new XamlServiceProvider(); Type type17 = typeof(IProvideValueTarget); object[] objArray9 = new object[0 + 3]; objArray9[0] = (object)button2; objArray9[1] = (object)stackLayout; objArray9[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider9; object obj17 = (object)(valueTargetProvider9 = new SimpleValueTargetProvider(objArray9, (object)Button.CommandParameterProperty, (INameScope)nameScope)); xamlServiceProvider9.Add(type17, (object)valueTargetProvider9); xamlServiceProvider9.Add(typeof(IReferenceProvider), obj17); Type type18 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver9 = new XmlNamespaceResolver(); namespaceResolver9.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver9.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver9.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver9.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver9.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver9.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver9.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver9.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver9 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver9, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider9.Add(type18, (object)xamlTypeResolver9); xamlServiceProvider9.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(59, 13))); object obj18 = ((IMarkupExtension)translateExtension13).ProvideValue((IServiceProvider)xamlServiceProvider9); ((BindableObject)button2).SetValue((BindableProperty)Button.CommandParameterProperty, obj18); resourceExtension5.set_Key("RatingChooserButtonStyle"); StaticResourceExtension resourceExtension12 = resourceExtension5; XamlServiceProvider xamlServiceProvider10 = new XamlServiceProvider(); Type type19 = typeof(IProvideValueTarget); object[] objArray10 = new object[0 + 3]; objArray10[0] = (object)button2; objArray10[1] = (object)stackLayout; objArray10[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider10; object obj19 = (object)(valueTargetProvider10 = new SimpleValueTargetProvider(objArray10, (object)VisualElement.StyleProperty, (INameScope)nameScope)); xamlServiceProvider10.Add(type19, (object)valueTargetProvider10); xamlServiceProvider10.Add(typeof(IReferenceProvider), obj19); Type type20 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver10 = new XmlNamespaceResolver(); namespaceResolver10.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver10.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver10.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver10.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver10.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver10.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver10.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver10.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver10 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver10, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider10.Add(type20, (object)xamlTypeResolver10); xamlServiceProvider10.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(60, 13))); object obj20 = ((IMarkupExtension)resourceExtension12).ProvideValue((IServiceProvider)xamlServiceProvider10); ((NavigableElement)button2).set_Style((Style)obj20); translateExtension6.Text = "Rating_EvaulationDislikeTitle"; TranslateExtension translateExtension14 = translateExtension6; XamlServiceProvider xamlServiceProvider11 = new XamlServiceProvider(); Type type21 = typeof(IProvideValueTarget); object[] objArray11 = new object[0 + 3]; objArray11[0] = (object)button2; objArray11[1] = (object)stackLayout; objArray11[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider11; object obj21 = (object)(valueTargetProvider11 = new SimpleValueTargetProvider(objArray11, (object)Button.TextProperty, (INameScope)nameScope)); xamlServiceProvider11.Add(type21, (object)valueTargetProvider11); xamlServiceProvider11.Add(typeof(IReferenceProvider), obj21); Type type22 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver11 = new XmlNamespaceResolver(); namespaceResolver11.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver11.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver11.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver11.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver11.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver11.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver11.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver11.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver11 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver11, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider11.Add(type22, (object)xamlTypeResolver11); xamlServiceProvider11.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(61, 13))); object obj22 = ((IMarkupExtension)translateExtension14).ProvideValue((IServiceProvider)xamlServiceProvider11); button2.set_Text((string)obj22); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)button2); ((BindableObject)boxView2).SetValue((BindableProperty)View.MarginProperty, (object)new Thickness(0.0, 4.0)); ((BindableObject)boxView2).SetValue((BindableProperty)VisualElement.HeightRequestProperty, (object)1.0); ((BindableObject)boxView2).SetValue((BindableProperty)View.HorizontalOptionsProperty, (object)(LayoutOptions)LayoutOptions.FillAndExpand); resourceExtension6.set_Key("RatingChooserSeparatorColor"); StaticResourceExtension resourceExtension13 = resourceExtension6; XamlServiceProvider xamlServiceProvider12 = new XamlServiceProvider(); Type type23 = typeof(IProvideValueTarget); object[] objArray12 = new object[0 + 3]; objArray12[0] = (object)boxView2; objArray12[1] = (object)stackLayout; objArray12[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider12; object obj23 = (object)(valueTargetProvider12 = new SimpleValueTargetProvider(objArray12, (object)BoxView.ColorProperty, (INameScope)nameScope)); xamlServiceProvider12.Add(type23, (object)valueTargetProvider12); xamlServiceProvider12.Add(typeof(IReferenceProvider), obj23); Type type24 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver12 = new XmlNamespaceResolver(); namespaceResolver12.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver12.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver12.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver12.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver12.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver12.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver12.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver12.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver12 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver12, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider12.Add(type24, (object)xamlTypeResolver12); xamlServiceProvider12.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(66, 13))); object obj24 = ((IMarkupExtension)resourceExtension13).ProvideValue((IServiceProvider)xamlServiceProvider12); boxView2.set_Color((Color)obj24); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)boxView2); bindingExtension3.set_Path("OnButtonClickCommand"); BindingBase bindingBase3 = ((IMarkupExtension <BindingBase>)bindingExtension3).ProvideValue((IServiceProvider)null); ((BindableObject)button3).SetBinding((BindableProperty)Button.CommandProperty, bindingBase3); translateExtension7.Text = "Rating_EvaulationAnotherTime"; TranslateExtension translateExtension15 = translateExtension7; XamlServiceProvider xamlServiceProvider13 = new XamlServiceProvider(); Type type25 = typeof(IProvideValueTarget); object[] objArray13 = new object[0 + 3]; objArray13[0] = (object)button3; objArray13[1] = (object)stackLayout; objArray13[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider13; object obj25 = (object)(valueTargetProvider13 = new SimpleValueTargetProvider(objArray13, (object)Button.CommandParameterProperty, (INameScope)nameScope)); xamlServiceProvider13.Add(type25, (object)valueTargetProvider13); xamlServiceProvider13.Add(typeof(IReferenceProvider), obj25); Type type26 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver13 = new XmlNamespaceResolver(); namespaceResolver13.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver13.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver13.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver13.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver13.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver13.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver13.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver13.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver13 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver13, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider13.Add(type26, (object)xamlTypeResolver13); xamlServiceProvider13.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(69, 13))); object obj26 = ((IMarkupExtension)translateExtension15).ProvideValue((IServiceProvider)xamlServiceProvider13); ((BindableObject)button3).SetValue((BindableProperty)Button.CommandParameterProperty, obj26); resourceExtension7.set_Key("RatingChooserButtonStyle"); StaticResourceExtension resourceExtension14 = resourceExtension7; XamlServiceProvider xamlServiceProvider14 = new XamlServiceProvider(); Type type27 = typeof(IProvideValueTarget); object[] objArray14 = new object[0 + 3]; objArray14[0] = (object)button3; objArray14[1] = (object)stackLayout; objArray14[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider14; object obj27 = (object)(valueTargetProvider14 = new SimpleValueTargetProvider(objArray14, (object)VisualElement.StyleProperty, (INameScope)nameScope)); xamlServiceProvider14.Add(type27, (object)valueTargetProvider14); xamlServiceProvider14.Add(typeof(IReferenceProvider), obj27); Type type28 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver14 = new XmlNamespaceResolver(); namespaceResolver14.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver14.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver14.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver14.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver14.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver14.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver14.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver14.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver14 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver14, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider14.Add(type28, (object)xamlTypeResolver14); xamlServiceProvider14.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(70, 13))); object obj28 = ((IMarkupExtension)resourceExtension14).ProvideValue((IServiceProvider)xamlServiceProvider14); ((NavigableElement)button3).set_Style((Style)obj28); translateExtension8.Text = "Rating_EvaulationAnotherTime"; TranslateExtension translateExtension16 = translateExtension8; XamlServiceProvider xamlServiceProvider15 = new XamlServiceProvider(); Type type29 = typeof(IProvideValueTarget); object[] objArray15 = new object[0 + 3]; objArray15[0] = (object)button3; objArray15[1] = (object)stackLayout; objArray15[2] = (object)ratingChooser; SimpleValueTargetProvider valueTargetProvider15; object obj29 = (object)(valueTargetProvider15 = new SimpleValueTargetProvider(objArray15, (object)Button.TextProperty, (INameScope)nameScope)); xamlServiceProvider15.Add(type29, (object)valueTargetProvider15); xamlServiceProvider15.Add(typeof(IReferenceProvider), obj29); Type type30 = typeof(IXamlTypeResolver); XmlNamespaceResolver namespaceResolver15 = new XmlNamespaceResolver(); namespaceResolver15.Add("", "http://xamarin.com/schemas/2014/forms"); namespaceResolver15.Add("x", "http://schemas.microsoft.com/winfx/2009/xaml"); namespaceResolver15.Add("animations", "clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"); namespaceResolver15.Add("d", "http://xamarin.com/schemas/2014/forms/design"); namespaceResolver15.Add("extensions", "clr-namespace:Ekreta.Mobile.Core.Extensions;assembly=Ekreta.Mobile.Core"); namespaceResolver15.Add("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006"); namespaceResolver15.Add("pages", "clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"); namespaceResolver15.Add("viewModels", "clr-namespace:Ekreta.Mobile.Core.ViewModels;assembly=Ekreta.Mobile.Core"); XamlTypeResolver xamlTypeResolver15 = new XamlTypeResolver((IXmlNamespaceResolver)namespaceResolver15, typeof(RatingChooser).GetTypeInfo().Assembly); xamlServiceProvider15.Add(type30, (object)xamlTypeResolver15); xamlServiceProvider15.Add(typeof(IXmlLineInfoProvider), (object)new XmlLineInfoProvider((IXmlLineInfo) new XmlLineInfo(71, 13))); object obj30 = ((IMarkupExtension)translateExtension16).ProvideValue((IServiceProvider)xamlServiceProvider15); button3.set_Text((string)obj30); ((ICollection <View>)((Layout <View>)stackLayout).get_Children()).Add((View)button3); ((BindableObject)ratingChooser).SetValue((BindableProperty)ContentPage.ContentProperty, (object)stackLayout); } }
public void ListViewDemoPage() { Label header = new Label { Text = "ListView", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)), HorizontalOptions = LayoutOptions.Center }; // Define some data. List <Person> people = new List <Person> { new Person("Abigail", new DateTime(1975, 1, 15), Color.Aqua), new Person("Bob", new DateTime(1976, 2, 20), Color.Black), // ...etc.,... new Person("Yvonne", new DateTime(1987, 1, 10), Color.Purple), new Person("Zachary", new DateTime(1988, 2, 5), Color.Red) }; // Create the ListView. ListView listView = new ListView { // Source of data items. ItemsSource = people, // Define template for displaying each item. // (Argument of DataTemplate constructor is called for // each item; it must return a Cell derivative.) ItemTemplate = new DataTemplate(() => { // Create views with bindings for displaying each property. Label nameLabel = new Label(); nameLabel.SetBinding(Label.TextProperty, "Name"); Label birthdayLabel = new Label(); birthdayLabel.SetBinding(Label.TextProperty, new Binding("Birthday", BindingMode.OneWay, null, null, "Born {0:d}")); BoxView boxView = new BoxView(); boxView.SetBinding(BoxView.ColorProperty, "FavoriteColor"); // Return an assembled ViewCell. return(new ViewCell { View = new StackLayout { Padding = new Thickness(0, 5), Orientation = StackOrientation.Horizontal, Children = { boxView, new StackLayout { VerticalOptions = LayoutOptions.Center, Spacing = 0, Children = { nameLabel, birthdayLabel } } } } }); }) }; // Accomodate iPhone status bar. // this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5); // Build the page. this.Content = new StackLayout { Children = { header, listView } }; }
public CardView() { RelativeLayout view = new RelativeLayout(); // box view as background // white for now. BoxView background = new BoxView { Color = Color.White, Scale = 4, InputTransparent = true }; // put it in my stack view.Children.Add(background, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height); })); // backgroud of background (gray) BoxView boxView1 = new BoxView { Color = Color.FromRgb(245, 245, 245), InputTransparent = true }; // put in stack view.Children.Add(boxView1, Constraint.Constant(0), Constraint.Constant(-30), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height); })); // item images Photo = new Image() { InputTransparent = true, Aspect = Aspect.Fill, Scale = 0.95 }; // put in stack view.Children.Add(Photo, Constraint.RelativeToParent((parent) => { double w = parent.Width * 1; return((parent.Width - w) / 2); }), Constraint.Constant(10), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height * 0.75); })); // item ttitle Name = new Label() { TextColor = Color.Black, FontSize = 22, //MainPage.screenHeight / 36.8, InputTransparent = true, FontAttributes = FontAttributes.Bold, HorizontalOptions = LayoutOptions.CenterAndExpand, HorizontalTextAlignment = TextAlignment.Center }; view.Children.Add(Name, Constraint.Constant(0), Constraint.RelativeToParent((parent) => { return(parent.Height - parent.Height - 30); }), Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.Constant(65)); // item description Description = new Label() { TextColor = Color.Black, FontSize = 20, //MainPage.screenHeight / 40.8, //Font size 18 40.8 InputTransparent = true }; view.Children.Add(Description, Constraint.RelativeToParent((parent) => { return(parent.Width - parent.Width + 5); }), Constraint.RelativeToParent((parent) => { return(parent.Height - 80); }), //Constraint.RelativeToParent((parent) => { return parent.Height - 80; }), //MIDDLE Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.Constant(68)); firstDesc = new Label() { TextColor = Color.Black, FontSize = 20, //MainPage.screenHeight / 36.8, //Font size 20 InputTransparent = true }; view.Children.Add(firstDesc, Constraint.RelativeToParent((parent) => { return(parent.Width - parent.Width + 5); }), Constraint.RelativeToParent((parent) => { return(parent.Height - parent.Height + 10); }), //Constraint.RelativeToParent((parent) => { return parent.Height - 80; }), //MIDDLE Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.Constant(500)); firstDesc2 = new Label() { TextColor = Color.DimGray, FontSize = 12, InputTransparent = true, HorizontalOptions = LayoutOptions.CenterAndExpand, HorizontalTextAlignment = TextAlignment.Center }; view.Children.Add(firstDesc2, Constraint.RelativeToParent((parent) => { return(parent.Width - parent.Width + 5); }), Constraint.RelativeToParent((parent) => { return(parent.Height - 85); }), //Constraint.RelativeToParent((parent) => { return parent.Height - 80; }), //MIDDLE Constraint.RelativeToParent((parent) => { return(parent.Width); }), Constraint.RelativeToParent((parent) => { return(parent.Height); })); Content = view; }
private void Logic() { CollectionView chatView = CollectionView_Chats; chatView.SetBinding(ItemsView.ItemsSourceProperty, "Chats"); chatView.ItemTemplate = new DataTemplate(() => { Grid grid = new Grid { Padding = 1, HorizontalOptions = LayoutOptions.StartAndExpand }; grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star }); Label nameLabel = new Label { FontAttributes = FontAttributes.Bold }; nameLabel.SetBinding(Label.TextProperty, "Name"); Label descriptionLable = new Label { FontAttributes = FontAttributes.Italic, MinimumHeightRequest = 30, HeightRequest = 40, WidthRequest = 100 }; descriptionLable.SetBinding(Label.TextProperty, "LastMsg"); Image image = new Image { Aspect = Aspect.AspectFill, HeightRequest = 50, WidthRequest = 50, HorizontalOptions = LayoutOptions.EndAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand }; image.SetBinding(Image.SourceProperty, "ImageUrl"); BoxView onlineIndicate = new BoxView { BackgroundColor = Color.FromHex("#F0CDB1"), HeightRequest = 15.0, WidthRequest = 15.0, CornerRadius = 20.0, HorizontalOptions = LayoutOptions.EndAndExpand, VerticalOptions = LayoutOptions.EndAndExpand }; BoxView separator = new BoxView { HeightRequest = 1, BackgroundColor = Color.FromHex("F0CDB1"), VerticalOptions = LayoutOptions.End }; Grid.SetRowSpan(image, 3); Grid.SetColumn(image, 1); Grid.SetColumnSpan(separator, 2); Grid.SetRow(separator, 3); grid.Children.Add(nameLabel, 0, 0); grid.Children.Add(descriptionLable, 0, 1); grid.Children.Add(image); grid.Children.Add(separator); return(grid); }); //Взятие модели чатов не реализовано, это мок. Данные беруться с заказов chatView.ItemsSource = clientRestApi.GetOrdersByUserId(currentUser.Get().Id).Select(x => new ModelChat(x.Sitter, "Реализуй последнее сообщение!!!")); Refresh.Command = new Command(() => { Logic(); // Stop refreshing Refresh.IsRefreshing = false; }); }
/// <summary> /// This page demonstrates the different ways to use the Device class /// to perform platform-specific operations like changing the UI /// based on which /// </summary> public DevicePage() { var heading = new Label { Text = "Heading", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)) }; switch (Device.Idiom) { case TargetIdiom.Phone: heading.Text += " Phone "; break; case TargetIdiom.Tablet: heading.Text += " Tablet "; break; case TargetIdiom.Desktop: heading.Text += " Desktop "; break; default: heading.Text += " unknown "; break; } // // Device.OS == TargetPlatform iOS Android WinPhone // if (Device.OS == TargetPlatform.iOS) { heading.Text += "iOS"; } else // could be TargetPlatform.Android or TargetPlatform.WinPhone { heading.Text += Device.OS; } var timer = new Label { Text = "click start below" }; // // Device.OnPlatform (Action) // var box = new BoxView { Color = Color.Green, WidthRequest = Device.OnPlatform(30, 40, 50), HorizontalOptions = LayoutOptions.Center }; Device.OnPlatform( iOS: () => { box.Color = box.Color.MultiplyAlpha(0.5); heading.TextColor = Color.Blue; }, Android: () => { box.Color = box.Color.AddLuminosity(0.3); heading.TextColor = Color.FromRgb(115, 129, 130); }, WinPhone: () => { box.Color = box.Color.AddLuminosity(0.3); heading.TextColor = Color.Accent; }, Default: () => { heading.Text = "what platform is this?!" + Device.OS; } ); // // Device.OnPlatform<T> // var timerButton = new Button { Text = "Start 10s Timer", BackgroundColor = Color.Gray.MultiplyAlpha(0.5), HorizontalOptions = LayoutOptions.Center }; timerButton.WidthRequest = Device.OnPlatform(200, 300, 100); // // Device.StartTimer and Device.BeginInvokeOnMainThread // timerButton.Clicked += (sender, e) => { timer.Text = "timer running..."; Device.StartTimer(new TimeSpan(0, 0, 10), () => { // do something every 10 seconds Device.BeginInvokeOnMainThread(() => { // interact with UI elements timer.Text = DateTime.Now.ToString("mm:ss") + " past the hour"; }); return(true); // runs again, or false to stop }); }; // // Device.OpenUri // var webButton = new Button { Text = "Open Uri" }; webButton.Clicked += ((sender, e) => Device.OpenUri(new Uri("https://xamarin.com/evolve"))); // // Device.OnPlatform<T> // Content = new StackLayout { Padding = new Thickness(5, Device.OnPlatform(20, 0, 0), 5, 0), Children = { heading, box, webButton, timer, timerButton } }; }
public void AddImageInGallery(string url, string titre, IList <ImageApi> image, CompomentImage elm) { string tmp = null; string imge_almbum = null; if (elm.images_count > 1) { imge_almbum = "album.png"; } else { imge_almbum = "picture.png"; } Console.WriteLine("----------------" + _index++ + elm.favorite); if (elm.favorite == true) { tmp = "heart.png"; } else { tmp = "like.png"; } ImageButton favori = new ImageButton { Margin = 10, Source = tmp, HorizontalOptions = LayoutOptions.StartAndExpand, VerticalOptions = LayoutOptions.Center, BackgroundColor = Color.FromHex("000000"), HeightRequest = 40 }; Label vue = new Label { Text = elm.views != null?elm.views.ToString() : "0", Margin = new Thickness(0, 0, 60, 0), HorizontalOptions = LayoutOptions.EndAndExpand, VerticalOptions = LayoutOptions.Center, }; Image imgvue = new Image { Margin = 10, Source = "eyes.png", HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, BackgroundColor = Color.FromHex("000000"), HeightRequest = 40 }; BoxView linetop = new BoxView() { Color = Color.FromHex("101010"), WidthRequest = 100, HeightRequest = 2, Margin = new Thickness(0, 0, 0, 5) }; Image album = new Image { BackgroundColor = Color.FromHex("000000"), Source = imge_almbum, HeightRequest = 30, HorizontalOptions = LayoutOptions.StartAndExpand, VerticalOptions = LayoutOptions.Center }; BoxView line = new BoxView() { Color = Color.FromHex("101010"), WidthRequest = 100, HeightRequest = 2, Margin = new Thickness(0, 5, 0, 0) }; Grid grid_buttom = new Grid { Children = { favori, vue, imgvue } }; favori.Clicked += delegate { elm.favorite = !elm.favorite; if (elm.favorite == true) { favori.Source = "heart.png"; } else { favori.Source = "like.png"; } test2(elm.id); }; ImageButton img = new ImageButton { BackgroundColor = Color.FromHex("000000"), Source = url, HeightRequest = 300 }; img.Clicked += delegate { if (elm.images_count > 1) { Navigation.PushAsync(new AlbumPage(image, titre)); } }; Label dess = new Label { Text = (elm.images[0].description != null) ? elm.images[0].description.ToString() : "", FontSize = 18, Margin = new Thickness(5, 0, 0, 0) }; _stackLayout.Children.Add(new Frame { BackgroundColor = Color.FromHex("000000"), Content = new StackLayout { Children = { album, new Label { Text = titre, FontSize = 18 }, linetop, img, grid_buttom, line, dess } }, }); }
public BasicGridPage() { BackgroundColor = Colors.White; Title = "Basic Grid"; Grid grid = new Grid { RowDefinitions = { new RowDefinition { Height = new GridLength(2, GridUnitType.Star) }, new RowDefinition(), new RowDefinition { Height = new GridLength(100) } }, ColumnDefinitions = { new ColumnDefinition(), // { Width = new GridLength(300)}, new ColumnDefinition() // {Width = new GridLength(300)} } }; // Row 0 // The BoxView and Label are in row 0 and column 0, and so only needs to be added to the // Grid.Children collection to get default row and column settings. grid.Children.Add(new BoxView { Color = Colors.Green }); grid.Children.Add(new Label { Text = "Row 0, Column 0", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }); // This BoxView and Label are in row 0 and column 1, which are specified as arguments // to the Add method. grid.Add(new BoxView { Color = Colors.Blue }, 1, 0); grid.Add(new Label { Text = "Row 0, Column 1", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }, 1, 0); // Row 1 // This BoxView and Label are in row 1 and column 0, which are specified as arguments // to the Add method overload. grid.Add(new BoxView { Color = Colors.Teal }, 0, 1, 1, 2); grid.Add(new Label { Text = "Row 1, Column 0", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }, 0, 1, 1, 2); // These arguments indicate that that the child element goes in the column starting at 0 but ending before 1. // They also indicate that the child element goes in the row starting at 1 but ending before 2. grid.Add(new BoxView { Color = Colors.Purple }, 1, 2, 1, 2); grid.Add(new Label { Text = "Row1, Column 1", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }, 1, 2, 1, 2); // Row 2 // Alternatively, the BoxView and Label can be positioned in cells with the Grid.SetRow // and Grid.SetColumn methods. BoxView boxView = new BoxView { Color = Colors.Red }; Grid.SetRow(boxView, 2); Grid.SetColumnSpan(boxView, 2); Label label = new Label { Text = "Row 2, Column 0 and 1", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }; Grid.SetRow(label, 2); Grid.SetColumnSpan(label, 2); grid.Children.Add(boxView); grid.Children.Add(label); // var grid = new Grid // { // WidthRequest = 300, // HeightRequest = 300, // BackgroundColor = Colors.Red, // HorizontalOptions = LayoutOptions.Start, // VerticalOptions = LayoutOptions.Start // }; // grid.Children.Add(new Grid(){ // BackgroundColor = Colors.Blue, // HorizontalOptions = LayoutOptions.Fill, // VerticalOptions = LayoutOptions.Fill // }); this.Content = grid; }
protected void Initialize() { Title = "Sync"; _vm = new SyncPageViewModel(); this.BindingContext = _vm; BackgroundColor = Color.White; Label labelUpdateAppData = new Label() { Text = "REFRESH APP DATA", TextColor = asbestos, FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null) }; Label labelUpdateWarning = new Label() { Text = "This will refresh the data on your application, using the time frame that can be adjusted in Settings. It requires either mobile data or WiFi connectivity.", TextColor = asbestos, FontFamily = Device.OnPlatform("OpenSans-Regular", "sans-serif", null) }; Button buttonUpdateData = new Button() { TextColor = Color.White, BackgroundColor = emerald, FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null) }; //later, add check for connectivity and make this presentation conditional buttonUpdateData.Text = "UPDATE APP DATA"; buttonUpdateData.Clicked += ButtonUpdateData_Clicked; BoxView separator = new BoxView() { HeightRequest = 1, HorizontalOptions = LayoutOptions.FillAndExpand, BackgroundColor = asbestos }; StackLayout refreshLayout = new StackLayout { Padding = 30, Children = { labelUpdateAppData, labelUpdateWarning, buttonUpdateData } }; Label labelSendDataTitle = new Label() { Text = "UPLOAD DATA", TextColor = asbestos, FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null) }; Label labelSendWarning = new Label() { Text = "This will send data from Tech Dashboard to the central server. This operations requires either mobile data or WiFi connections.", TextColor = asbestos, FontFamily = Device.OnPlatform("OpenSans-Regular", "sans-serif", null) }; Label labelSendCount = new Label() { TextColor = Color.Red, FontFamily = Device.OnPlatform("OpenSans-Regular", "sans-serif", null) }; labelSendCount.SetBinding(Label.TextProperty, "UpdateCount"); Label labelSendContent = new Label() { TextColor = Color.Red, FontFamily = Device.OnPlatform("OpenSans-Regular", "sans-serif", null), Text = "records awaiting sync." }; Button buttonSendData = new Button() { TextColor = Color.White, BackgroundColor = emerald, FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null) }; // same as bove, add check for connectivity and make this enabled conditional buttonSendData.Text = "SYNC DATA"; buttonSendData.Clicked += ButtonSendData_Clicked; Button buttonViewData = new Button() { TextColor = Color.White, BackgroundColor = alizarin, FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null) }; buttonViewData.Text = "PREVIEW DATA"; buttonViewData.Clicked += ButtonViewData_Clicked; StackLayout titleLayout = new StackLayout { BackgroundColor = peterriver, Padding = 50, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Children = { new Xamarin.Forms.Label { Text = "SYNC", FontFamily = Device.OnPlatform("OpenSans-Bold", "sans-serif-black", null), TextColor = Color.White, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.Center } } }; StackLayout syncLayout = new StackLayout { Padding = 30, Children = { labelSendDataTitle, labelSendWarning, new StackLayout { Spacing = 5, Orientation = StackOrientation.Horizontal, Children = { labelSendCount, labelSendContent } }, buttonViewData, buttonSendData } }; Content = new StackLayout { Spacing = 10, Children = { titleLayout, refreshLayout, separator, syncLayout } }; }
protected override void Init() { var stackLayout = new StackLayout { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center }; var debugLabel = new Label { Text = "The first button should show an alert with the exception message, second button should retrieve an actual color and put the value in this label and in the BoxView" }; var boxView = new BoxView { BackgroundColor = Colors.Blue, WidthRequest = 100, HeightRequest = 100 }; var buttonBoom = new Button { Text = "This button should throw an Exception" }; buttonBoom.Clicked += (_, __) => { try { var color = DependencyService.Get <INativeColorService>()?.GetConvertedColor(true); boxView.BackgroundColor = color ?? Colors.Black; } catch (InvalidOperationException ex) { DisplayAlert("Exception!", ex.Message, "Gotcha"); } }; var buttonNotBoom = new Button { Text = "This button should NOT throw an Exception" }; buttonNotBoom.Clicked += (_, __) => { try { var color = DependencyService.Get <INativeColorService>()?.GetConvertedColor(false); debugLabel.Text = color?.ToString(); boxView.BackgroundColor = color ?? Colors.Black; } catch (Exception ex) { DisplayAlert("Exception!", ex.Message, "Gotcha"); } }; stackLayout.Children.Add(buttonBoom); stackLayout.Children.Add(buttonNotBoom); stackLayout.Children.Add(debugLabel); stackLayout.Children.Add(boxView); Content = stackLayout; }
protected override void Init() { var outputLabel = new Label(); var testButton = new Button { Text = "Can't Touch This", AutomationId = CantTouchButtonId }; testButton.Clicked += (sender, args) => outputLabel.Text = CantTouchFailText; var boxView = new BoxView { AutomationId = "nontransparentBoxView", Color = Color.Pink.MultiplyAlpha(0.5) }; // Bump up the elevation on Android so the Button is covered (FastRenderers) boxView.On <Android>().SetElevation(10f); var testGrid = new Grid { AutomationId = "testgrid", Children = { testButton, boxView } }; // BoxView over Button prevents Button click var testButtonOk = new Button { Text = "Can Touch This", AutomationId = CanTouchButtonId }; testButtonOk.Clicked += (sender, args) => { outputLabel.Text = CanTouchSuccessText; }; var testGridOk = new Grid { AutomationId = "testgridOK", Children = { testButtonOk, new BoxView { AutomationId = "transparentBoxView", Color = Color.Pink.MultiplyAlpha(0.5), InputTransparent = true } } }; var testListView = new ListView(); var items = new[] { "Foo" }; testListView.ItemsSource = items; testListView.ItemTemplate = new DataTemplate(() => { var result = new ViewCell { View = new Grid { Children = { new BoxView { AutomationId = ListTapTarget, Color = Color.Pink.MultiplyAlpha(0.5) } } } }; return(result); }); testListView.ItemSelected += (sender, args) => outputLabel.Text = ListTapSuccessText; Content = new StackLayout { AutomationId = "Container Stack Layout", Children = { outputLabel, testGrid, testGridOk, testListView } }; }
#pragma warning disable 1998 // considered for removal async Task Cancel(BoxView box) #pragma warning restore 1998 { box.AbortAnimation("animate"); box.AbortAnimation("kinetic"); }
public CameraView(Component c, string formData) { TakePhotoButton = new Button(); //TakePhotoButton.Text = c.text; TakePhotoButton.Image = "Camera.png"; TakePhotoButton.Clicked += TakePhotoButton_Clicked; CameraPhotoImage = new Image(); //CameraPhotoImage.HorizontalOptions = LayoutOptions.EndAndExpand; CameraPhotoImage.HeightRequest = 100; ChoosePhotoButton = new Button(); ChoosePhotoButton.Image = "Camera.png"; //ChoosePhotoButton.Text = "Choose Photo"; //ChoosePhotoButton.Clicked += ChoosePhotoButton_Clicked; TakeVideoButton = new Button(); //TakeVideoButton.Text = "Take Video"; TakeVideoButton.Image = "Video.png"; //TakeVideoButton.Clicked += TakeVideoButton_Clicked; TakeVideoButton.Clicked += TakeVideoButton_Clicked1; CameraVideoImage = new Image(); //CameraVideoImage.HorizontalOptions = LayoutOptions.EndAndExpand; CameraPhotoImage.HeightRequest = 100; ChooseVideoButton = new Button(); //ChooseVideoButton.Text = "Choose Video"; ChooseVideoButton.Image = "Video.png"; //ChooseVideoButton.Clicked += ChooseVideoButton_Clicked; photoLineSeparator = new BoxView(); photoLineSeparator.HeightRequest = 1; photoLineSeparator.Color = Color.FromHex("#EAEAEA"); photoLineSeparator.Margin = new Thickness(0, 25, 0, 0); videoLineSeparator = new BoxView(); videoLineSeparator.HeightRequest = 1; videoLineSeparator.Color = Color.FromHex("#EAEAEA"); videoLineSeparator.Margin = new Thickness(0, 25, 0, 0); Label lblTakePhoto = new Label(); lblTakePhoto.Text = "Photo"; Label lblTakeVideo = new Label(); lblTakeVideo.Text = "Video"; StackLayout photoLayout = new StackLayout() { Orientation = StackOrientation.Horizontal, HeightRequest = 100, Children = { new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.StartAndExpand, Children = { new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, Children = { lblTakePhoto, TakePhotoButton } } } }, new StackLayout { HorizontalOptions = LayoutOptions.EndAndExpand, Children = { CameraPhotoImage } } } }; StackLayout videoLayout = new StackLayout() { Orientation = StackOrientation.Horizontal, HeightRequest = 100, //Padding = new Thickness(0, 10, 0, 10), Children = { new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.StartAndExpand, Children = { new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, Children = { lblTakeVideo, TakeVideoButton } } } }, new StackLayout { HorizontalOptions = LayoutOptions.EndAndExpand, Children = { CameraVideoImage } } } }; //Images = new List<Image>(); MessageLabel = new Label(); Content = new StackLayout { Padding = new Thickness(25, 0, 25, 0), Children = { photoLayout, photoLineSeparator, videoLayout, videoLineSeparator } }; MessagingCenter.Subscribe <object, string>(this, "PhotoMessageAnswer", (sender, arg) => { //System.Diagnostics.Debug.WriteLine("User choose: {0}", arg); if (arg == "Take Photo") { TakePhoto(); } else if (arg == "Choose Photo") { ChoosePhoto(); } else if (arg == "Choose Video") { ChooseVideo(); } else if (arg == "Take Video") { TakeVideo(); } }); }
#pragma warning disable 1998 // considered for removal async Task Animate(BoxView box) #pragma warning restore 1998 { box.Animate("animate", d => d, d => { }, 100, 1); }
public void StarColumnsWithSpansDoNotExpandAutos () { var grid = new Grid { RowDefinitions = { new RowDefinition {Height = GridLength.Auto}, new RowDefinition {Height = GridLength.Auto}, }, ColumnDefinitions = { new ColumnDefinition {Width = new GridLength (1, GridUnitType.Auto)}, new ColumnDefinition {Width = new GridLength (1, GridUnitType.Auto)}, new ColumnDefinition {Width = new GridLength (1, GridUnitType.Star)} }, Platform = new UnitPlatform (), IsPlatformEnabled = true }; var spanBox = new BoxView {WidthRequest = 70, HeightRequest = 20, IsPlatformEnabled = true}; var box1 = new BoxView {WidthRequest = 20, HeightRequest = 20, IsPlatformEnabled = true}; var box2 = new BoxView {WidthRequest = 20, HeightRequest = 20, IsPlatformEnabled = true}; var box3 = new BoxView {WidthRequest = 20, HeightRequest = 20, IsPlatformEnabled = true}; grid.Children.Add (spanBox, 0, 3, 0, 1); grid.Children.Add (box1, 0, 1); grid.Children.Add (box2, 1, 1); grid.Children.Add (box3, 2, 1); grid.Layout (new Rectangle(0, 0, 300, 46)); Assert.AreEqual (new Rectangle (0, 0, 300, 20), spanBox.Bounds); Assert.AreEqual (new Rectangle (0, 26, 20, 20), box1.Bounds); Assert.AreEqual (new Rectangle (26, 26, 20, 20), box2.Bounds); Assert.AreEqual (new Rectangle (52, 26, 248, 20), box3.Bounds); }
public void AutosizeGraph(BoxView bvUpper, BoxView bvLower, GraphicBox gbUpper, GraphicBox gbLower, ref GrapherParams gp) { int nDays; if (bvUpper == BoxView.Log) { // get the number of lines expected in this item nDays = gbUpper.GetDaysPerPage(); if (bvLower == BoxView.Graph) { gbLower.SetDaysPerPage(nDays); gp.nHalfDays = nDays * 2; } } else if (bvLower == BoxView.Log) { // get the number of lines expected in this item nDays = gbLower.GetDaysPerPage(); if (bvUpper == BoxView.Graph) { gbUpper.SetDaysPerPage(nDays); gp.nHalfDays = nDays * 2; } } }
public GestureTestPage() { #region Page //var pageListener = FormsGestures.Listener.For(this); //pageListener.LongPressing += (s, e) => System.Diagnostics.Debug.WriteLine("\tPAGE LONG PRESSING"); //pageListener.LongPressed += (s, e) => System.Diagnostics.Debug.WriteLine("\tPAGE LONG PRESSED"); #endregion #region Delta vs Total Switch var totalSwitch = new Xamarin.Forms.Switch(); #endregion #region Xamarin.Forms.Button var button = new Button { BackgroundColor = Color.Pink, Text = "Hello", BorderColor = Color.Blue, BorderWidth = 3, }; button.Clicked += (sender, e) => System.Diagnostics.Debug.WriteLine("\tBUTTON CLICKED!!!!"); var buttonListener = FormsGestures.Listener.For(button); buttonListener.Down += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON DOWN [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); // does not work with UIControl derived elements }; buttonListener.Up += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON UP [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); // does not work with UIControl derived elements }; buttonListener.Tapping += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON TAPPING #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; buttonListener.Tapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON TAPPED #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); // does not work with UIControl derived elements }; buttonListener.DoubleTapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON DOUBLE TAPPED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); // does not work with UIControl derived elements }; buttonListener.LongPressing += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON LONG PRESSING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; buttonListener.LongPressed += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON LONG PRESSED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; buttonListener.RightClicked += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON RIGHT CLICK[" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; buttonListener.Panning += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON PANNING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.TranslationX = e.TotalDistance.X; button.TranslationY = e.TotalDistance.Y; } else { button.TranslationX += e.DeltaDistance.X; button.TranslationY += e.DeltaDistance.Y; } }; buttonListener.Panned += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON PANNED TotalDistance=[" + e.TotalDistance.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.TranslationX = 0; button.TranslationY = 0; } }; buttonListener.Swiped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON SWIPED!!! Velocity=[" + e.VelocityX.ToString(format) + "," + e.VelocityY.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; buttonListener.Pinching += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON PINCHING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.Scale = e.TotalScale; } else { button.Scale *= e.DeltaScale; } }; buttonListener.Pinched += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON PINCHED TotalScale=[" + e.TotalScale.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.Scale = 1; } }; buttonListener.Rotating += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON ROTATING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.Rotation = e.TotalAngle; } else { button.Rotation += e.DeltaAngle; } }; buttonListener.Rotated += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBUTTON ROTATED TotalAngle=[" + e.TotalAngle.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { button.Rotation = 0; } }; #endregion #region Forms9Patch.Frame var frame = new Forms9Patch.Frame { BackgroundColor = Color.Orange, WidthRequest = 70, HeightRequest = 70, HasShadow = true, OutlineColor = Color.Green, OutlineRadius = 0, OutlineWidth = 1, Content = new Forms9Patch.Label { Text = "pizza", TextColor = Color.White, BackgroundColor = Color.Blue, HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Start } }; var frameListener = FormsGestures.Listener.For(frame); frameListener.Down += (sender, e) => { e.Handled = true; System.Diagnostics.Debug.WriteLine("\tFRAME DOWN [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.Up += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME UP [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.Tapping += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME TAPPING #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.Tapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME TAPPED #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.DoubleTapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME DOUBLE TAPPED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.LongPressing += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME LONG PRESSING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.LongPressed += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME LONG PRESSED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.RightClicked += (sender, e) => System.Diagnostics.Debug.WriteLine("\tFRAME RIGHT CLICK[" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); frameListener.Panning += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME PANNING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.TranslationX = e.TotalDistance.X; frame.TranslationY = e.TotalDistance.Y; } else { frame.TranslationX += e.DeltaDistance.X; frame.TranslationY += e.DeltaDistance.Y; } }; frameListener.Panned += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME PANNED TotalDistance=[" + e.TotalDistance.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.TranslationX = 0; frame.TranslationY = 0; } }; frameListener.Swiped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME SWIPED!!! Velocity=[" + e.VelocityX.ToString(format) + "," + e.VelocityY.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); }; frameListener.Pinching += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME PINCHING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.DeltaScale + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.Scale = e.TotalScale; } else { frame.Scale *= e.DeltaScale; } }; frameListener.Pinched += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME PINCHED TotalScale=[" + e.TotalScale.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.Scale = 1; } }; frameListener.Rotating += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME ROTATING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.DeltaAngle + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.Rotation = e.TotalAngle; } else { frame.Rotation += e.DeltaAngle; } }; frameListener.Rotated += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tFRAME ROTATED TotalAngle[" + e.TotalAngle.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { frame.Rotation = 0; } }; #endregion #region Xamarin.Forms.BoxView var box = new BoxView { BackgroundColor = Color.Green, }; var boxListener = FormsGestures.Listener.For(box); //boxListener.Down += OnDown; boxListener.Down += (sender, e) => { e.Handled = true; System.Diagnostics.Debug.WriteLine("\tBOX DOWN [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.WindowTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Red); }; boxListener.Up += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX UP [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Blue); }; boxListener.Tapping += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX TAPPING #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Yellow); }; boxListener.Tapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX TAPPED #[" + e.NumberOfTaps + "] [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Green); }; boxListener.DoubleTapped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX DOUBLE TAPPED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Orange); }; boxListener.LongPressing += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX LONG PRESSING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Magenta); }; boxListener.LongPressed += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX LONG PRESSED [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Purple); }; boxListener.RightClicked += (sender, e) => System.Diagnostics.Debug.WriteLine("\tBOX RIGHT CLICK[" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); boxListener.Panning += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX PANNING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.WindowTouches[0].ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); if (totalSwitch.IsToggled) { box.TranslationX = e.TotalDistance.X; box.TranslationY = e.TotalDistance.Y; } else { box.TranslationX += e.DeltaDistance.X; box.TranslationY += e.DeltaDistance.Y; } ShowTouches(e, Color.Pink); }; boxListener.Panned += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX PANNED TotalDistance=[" + e.TotalDistance.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.MistyRose); if (totalSwitch.IsToggled) { box.TranslationX = 0; box.TranslationY = 0; } }; boxListener.Swiped += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX SWIPED!!! Velocity=[" + e.VelocityX.ToString(format) + "," + e.VelocityY.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.Cyan); }; boxListener.Pinching += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX PINCHING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.WindowTouches[0].ToString(format) + "][" + e.DeltaScale + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.LightSeaGreen); if (totalSwitch.IsToggled) { box.Scale = e.TotalScale; } else { box.Scale *= e.DeltaScale; } }; boxListener.Pinched += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX PINCHED TotalScale=[" + e.TotalScale.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.MintCream); if (totalSwitch.IsToggled) { box.Scale = 1; } }; boxListener.Rotating += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX ROTATING [" + e.Center(e.WindowTouches).ToString(format) + "][" + e.WindowTouches[0].ToString(format) + "][" + e.DeltaAngle + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.SandyBrown); if (totalSwitch.IsToggled) { box.Rotation = e.TotalAngle; } else { box.Rotation += e.DeltaAngle; } }; boxListener.Rotated += (sender, e) => { System.Diagnostics.Debug.WriteLine("\tBOX ROTATED TotalAngle[" + e.TotalAngle.ToString(format) + "][" + e.Center(e.WindowTouches).ToString(format) + "][" + e.ElementPosition.ToString(format) + "]"); ShowTouches(e, Color.RosyBrown); if (totalSwitch.IsToggled) { box.Rotation = 0; } }; #endregion #region Looking for multiple taps var tapBox = new BoxView { BackgroundColor = Color.Blue, }; var tapBoxListener = FormsGestures.Listener.For(tapBox); tapBoxListener.Tapping += (sender, e) => System.Diagnostics.Debug.WriteLine("\tTAPBOX TAPPING #[" + e.NumberOfTaps + "]"); tapBoxListener.Tapped += (sender, e) => System.Diagnostics.Debug.WriteLine("\tTAPBOX TAPPED #[" + e.NumberOfTaps + "]"); tapBoxListener.DoubleTapped += (sender, e) => System.Diagnostics.Debug.WriteLine("\tTAPBOX DOUBLE TAPPED #[" + e.NumberOfTaps + "]"); #endregion #region RelativeLayout relativeLayout = new Xamarin.Forms.RelativeLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Padding = new Thickness(0), BackgroundColor = Color.Transparent, }; relativeLayout.Children.Clear(); relativeLayout.Children.Add(button, xConstraint: Constraint.RelativeToParent((parent) => { return(parent.X + parent.Width * 3 / 4); }), yConstraint: Constraint.RelativeToParent((parent) => { return(parent.Y + parent.Height * 3 / 4); }), widthConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 3); }), heightConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 3); }) ); relativeLayout.Children.Add(box, xConstraint: Constraint.RelativeToParent((parent) => { return(parent.X + parent.Width / 4); }), yConstraint: Constraint.RelativeToParent((parent) => { return(parent.Y + parent.Height / 4); }), widthConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 2); }), heightConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 2); }) ); relativeLayout.Children.Add(tapBox, xConstraint: Constraint.RelativeToParent((parent) => { return(parent.X + parent.Width / 8); }), yConstraint: Constraint.RelativeToParent((parent) => { return(parent.Y + parent.Height / 8); }), widthConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 16); }), heightConstraint: Constraint.RelativeToParent((parent) => { return(parent.Width / 16); }) ); relativeLayout.Children.Add(frame, xConstraint: Constraint.RelativeToParent((parent) => { return(parent.X + parent.Width * 1 / 4); }), yConstraint: Constraint.RelativeToParent((parent) => { return(parent.Y + parent.Height / 8); }) ); relativeLayout.Children.Add(totalSwitch, xConstraint: Constraint.RelativeToParent((parent) => { return(parent.X); }), yConstraint: Constraint.RelativeToParent((parent) => { return(parent.Y); }) ); #endregion #region AbsoluteLayout absoluteLayout = new Xamarin.Forms.AbsoluteLayout { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Padding = new Thickness(5, 5, 5, 5), // given tool bar don't need upper padding BackgroundColor = Color.White }; absoluteLayout.Children.Add(relativeLayout, new Rectangle(0, 0, 1, 1), AbsoluteLayoutFlags.All ); #endregion Content = absoluteLayout; totalSwitch.Toggled += (s, e) => { box.TranslationX = 0; box.TranslationY = 0; box.Scale = 1; box.Rotation = 0; frame.TranslationX = 0; frame.TranslationY = 0; frame.Scale = 1; frame.Rotation = 0; button.TranslationX = 0; button.TranslationY = 0; button.Scale = 1; button.Rotation = 0; }; }
void PaintPrintRegion(GraphicBox gb, BoxView bv, Graphics gr, DateTime dttmFirst) { if (gb == null) return; gb.Calc(); if (bv == BoxView.Log) gb.SetFirstDateTime(dttmFirst); else if (bv == BoxView.Graph) gb.SetFirstDateTime(dttmFirst.AddDays(-1.0)); gb.Paint(gr); }
protected void AddSideMenu() { var topMenu = new StackLayout(); topMenu.Padding = new Thickness(0, 40, 0, 0); var list = GetTopItems(); foreach (var item in list) { topMenu.Children.Add(item); } var biMenu = new StackLayout(); biMenu.Padding = new Thickness(0, 40, 0, 0); list = GetBottomItems(); foreach (var item in list) { biMenu.Children.Add(item); } var separator = new BoxView() { //Color = Color.FromHex("#333333"), Color = Color.FromHex("#484848"), HeightRequest = 1, //Opacity = 0.5 }; var bottomMenu = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Center, Padding = new Thickness(0, 30, 0, 30), Children = { GetIconBottomMenu("facebook"), GetIconBottomMenu("instagram"), GetIconBottomMenu("pinterest"), GetIconBottomMenu("twitter"), } }; var sideMenu = new RelativeLayout(); sideMenu.WidthRequest = 290; sideMenu.BackgroundColor = Color.FromHex("#352e4f"); sideMenu.Children.Add(topMenu, Constraint.Constant(0), Constraint.Constant(0), Constraint.Constant(sideMenu.WidthRequest)); sideMenu.Children.Add(bottomMenu , Constraint.RelativeToParent((p) => { var w = bottomMenu.Width > 0 ? bottomMenu.Width : Utils.GetControlSize(bottomMenu).Width; return((p.Width - w) / 2); }) , Constraint.RelativeToParent((p) => { var h = bottomMenu.Height > 0 ? bottomMenu.Height : Utils.GetControlSize(bottomMenu).Height; return(p.Height - h); })); sideMenu.Children.Add(separator, Constraint.Constant(0) , Constraint.RelativeToParent((p) => { return(p.Height - bottomMenu.Height); }) , Constraint.RelativeToParent((p) => { return(p.Width); })); sideMenu.Children.Add(biMenu , Constraint.Constant(0) , Constraint.RelativeToParent((p) => { return(p.Height - Utils.GetControlSize(bottomMenu).Height - Utils.GetControlSize(separator).Height - Utils.GetControlSize(biMenu).Height - 10); })); var showBtnL = new RelativeLayout(); showBtn = new Image(); showBtn.Source = ImageSource.FromResource("TiroApp.Images.menuBtn.png"); showBtnL.GestureRecognizers.Add(new TapGestureRecognizer((v) => { menuLayout.IsVisible = !menuLayout.IsVisible; showBtn.Source = ImageSource.FromResource(menuLayout.IsVisible ? "TiroApp.Images.menuBtnWhite.png" : "TiroApp.Images.menuBtn.png"); })); showBtnL.Children.Add(showBtn , Constraint.Constant(20) , Constraint.Constant(25) , Constraint.Constant(17) , Constraint.Constant(12)); menuLayout = new RelativeLayout(); menuLayout.IsVisible = false; menuLayout.BackgroundColor = Props.BlackoutColor; menuLayout.Children.Add(sideMenu , Constraint.Constant(0) , Constraint.Constant(0) , Constraint.Constant(290) , Constraint.RelativeToParent((p) => { return(p.Height); })); menuLayout.GestureRecognizers.Add(new TapGestureRecognizer(v => { menuLayout.IsVisible = false; showBtn.Source = ImageSource.FromResource("TiroApp.Images.menuBtn.png"); })); mainLayout.Children.Add(menuLayout , Constraint.Constant(0) , Constraint.Constant(0) , Constraint.RelativeToParent((p) => { return(p.Width); }) , Constraint.RelativeToParent((p) => { return(p.Height); })); mainLayout.Children.Add(showBtnL , Constraint.Constant(0) , Constraint.Constant(0) , Constraint.Constant(60) , Constraint.Constant(60)); Content = mainLayout; mainLayout.ForceLayout(); }
public ProfilePage() { Title = "Fly 360"; NavigationPage.SetBackButtonTitle(this, string.Empty); var profile = new Image { Source = ImageSource.FromResource("Fly360.images.profile.png"), Aspect = Aspect.AspectFit, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Margin = 5 }; Grid.SetRowSpan(profile, 2); var name = new ShadowLabel { Text = "Jane Doe", FontSize = 24, FontAttributes = FontAttributes.Bold, TextColor = Color.White, HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Start }; Grid.SetColumn(name, 1); var role = new Label { FontSize = 16, TextColor = Color.White, Text = "Consultant (Grade: B)", HorizontalTextAlignment = TextAlignment.Start }; Grid.SetColumn(role, 1); Grid.SetRow(role, 1); var box = new BoxView { Color = Color.FromHex("#5579F7") }; Grid.SetRowSpan(box, 2); Grid.SetColumnSpan(box, 2); var grid = new Grid { ColumnDefinitions = { new ColumnDefinition { Width = 75 }, new ColumnDefinition(), }, RowDefinitions = { new RowDefinition { Height = 40 }, new RowDefinition { Height = GridLength.Star } }, Children = { box, profile, name, role } }; Content = grid; }
/* S E T G R A P H I C V I E W S */ /*---------------------------------------------------------------------------- %%Function: SetGraphicViews %%Qualified: bg.BgGraph.SetGraphicViews %%Contact: rlittle ----------------------------------------------------------------------------*/ public void SetGraphicViews(BoxView bvUpper, BoxView bvLower) { if (bvUpper == BoxView.None && bvLower == BoxView.None) throw(new Exception("Illegal BoxView parameters")); m_bvUpper = bvUpper; m_bvLower = bvLower; SetupViews(this.ClientSize.Height); Graphics gr = this.CreateGraphics(); RectangleF rectfUpper = new RectangleF(Reporter.DxpFromDxa(gr, 100), Reporter.DypFromDya(gr, 100), m_picbUpper.Width - Reporter.DxpFromDxa(gr, 200), m_picbUpper.Height - Reporter.DypFromDya(gr, 200)); RectangleF rectfLower = new RectangleF(Reporter.DxpFromDxa(gr, 100), Reporter.DypFromDya(gr, 100), m_picbLower.Width - Reporter.DxpFromDxa(gr, 200), m_picbLower.Height - Reporter.DypFromDya(gr, 200)); switch (bvUpper) { case BoxView.Log: m_picbUpper.Tag = new Reporter(rectfUpper, gr); break; case BoxView.Graph: m_picbUpper.Tag = new Grapher(rectfUpper, gr); break; case BoxView.Meal: m_picbUpper.Tag = new MealCharter(rectfUpper, gr); break; } switch (bvLower) { case BoxView.Log: m_picbLower.Tag = new Reporter(rectfLower, gr); break; case BoxView.Graph: m_picbLower.Tag = new Grapher(rectfLower, gr); break; case BoxView.Meal: m_picbLower.Tag = new MealCharter(rectfLower, gr); break; } }
public MapRankingPage(string MapId) { DownloadMapsFromServer(MapId); Label header = new Label { Text = "ListView", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)), HorizontalOptions = LayoutOptions.Center }; // Define some data. //List<MapsListView> Maps = new List<MapsListView>(); //foreach (RaceResultGet item in jsonlist) //{ // Maps.Add(new MapsListView(item.RaceId, item.seconds, Color.Red)); //} // Create the ListView. ListView listView = new ListView { // Source of data items. ItemsSource = Maps, // Define template for displaying each item. // (Argument of DataTemplate constructor is called for // each item; it must return a Cell derivative.) ItemTemplate = new DataTemplate(() => { Label NameLabel = new Label(); NameLabel.SetBinding(Label.TextProperty, "UserName"); //new Binding("IdValue", BindingMode.OneWay, null, null, "User Id: {0}")); // Create views with bindings for displaying each property. Label TimeLabel = new Label(); TimeLabel.SetBinding(Label.TextProperty, "Time"); BoxView boxView = new BoxView(); boxView.SetBinding(BoxView.ColorProperty, "FavoriteColor"); // Return an assembled ViewCell. return(new ViewCell { View = new StackLayout { Padding = new Thickness(0, 5), Orientation = StackOrientation.Horizontal, Children = { boxView, new StackLayout { VerticalOptions = LayoutOptions.Center, Spacing = 0, Children = { NameLabel, TimeLabel, } }, } } }); }) }; // Accomodate iPhone status bar. //this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5); listView.HasUnevenRows = true; //listView.ItemTapped += ListView_ItemTapped; // Build the page. this.Content = new StackLayout { Children = { header, listView } }; }
static async Task Rotate(BoxView box) { await box.RelRotateTo(360); }
private void ToggleAddToQuotePopupVisibilities(BoxView backgroundBox) { gridEditQuotePopup.IsVisible = !gridEditQuotePopup.IsVisible; this.IsVisible = !this.IsVisible; backgroundBox.IsVisible = !backgroundBox.IsVisible; }
#pragma warning disable 1998 // considered for removal async Task CheckTranslateRunning(BoxView box) #pragma warning restore 1998 { Debug.WriteLine(box.AnimationIsRunning("TranslateTo") ? "Translate is running" : "Translate is not running"); }
private Xamarin.Forms.View CreateProgressView(string message, double size, double containerWidth, double containerHeight) { var activity = new ActivityIndicator { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, IsVisible = true, IsRunning = true, Color = Color.White, HeightRequest = 30, WidthRequest = 30 }; var lblMessage = new Label { VerticalTextAlignment = Xamarin.Forms.TextAlignment.Center, HorizontalTextAlignment = Xamarin.Forms.TextAlignment.Center, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, FontAttributes = FontAttributes.None, HeightRequest = 50, WidthRequest = size, FontSize = Device.Idiom == TargetIdiom.Tablet ? 18 : 15, TextColor = Color.White, LineBreakMode = LineBreakMode.WordWrap, Text = message }; var topSpacer = new BoxView { VerticalOptions = LayoutOptions.StartAndExpand, HeightRequest = 10 }; var bottomSpacer = new BoxView { VerticalOptions = LayoutOptions.EndAndExpand, HeightRequest = 10 }; var stackLayout = new StackLayout { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Orientation = StackOrientation.Vertical, Spacing = 4, Padding = 10, HeightRequest = size, WidthRequest = size, Children = { topSpacer, activity, lblMessage, bottomSpacer } }; var frame = new Frame { OutlineColor = Color.White.MultiplyAlpha(0.2), Padding = 5, HasShadow = false, BackgroundColor = Color.Black.MultiplyAlpha(0.8), IsClippedToBounds = true, HeightRequest = size, InputTransparent = true, WidthRequest = size, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Content = stackLayout, }; Frame containerFrame = new Frame { OutlineColor = Color.Transparent, Padding = 0, HasShadow = false, BackgroundColor = Color.Transparent, IsClippedToBounds = true, HeightRequest = containerHeight, InputTransparent = true, WidthRequest = containerWidth, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, Content = frame }; return(containerFrame); }
static async Task AnimateScale(BoxView box) { await box.ScaleTo(2); await box.ScaleTo(0.5); }
public lund() { AbsoluteLayout abs = new AbsoluteLayout(); //верхняя часть verh = new BoxView { Color = Color.SkyBlue, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(verh, new Rectangle(0.5, 0.15, 100, 100)); AbsoluteLayout.SetLayoutFlags(verh, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(verh); //рот rot = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(rot, new Rectangle(0.5, 0.24, 30, 10)); AbsoluteLayout.SetLayoutFlags(rot, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(rot); //ведро на голову vedro = new BoxView { Color = Color.Black, CornerRadius = 0 }; AbsoluteLayout.SetLayoutBounds(vedro, new Rectangle(0.5, 0.043, 60, 60)); AbsoluteLayout.SetLayoutFlags(vedro, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(vedro); //ведро2 vedro2 = new BoxView { Color = Color.Black, CornerRadius = 0 }; AbsoluteLayout.SetLayoutBounds(vedro2, new Rectangle(0.5, 0.13, 120, 10)); AbsoluteLayout.SetLayoutFlags(vedro2, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(vedro2); //левый глаз lglaz = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(lglaz, new Rectangle(0.45, 0.17, 10, 10)); AbsoluteLayout.SetLayoutFlags(lglaz, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(lglaz); //правый глаз pglaz = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(pglaz, new Rectangle(0.55, 0.17, 10, 10)); AbsoluteLayout.SetLayoutFlags(pglaz, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(pglaz); //центральная часть centr = new BoxView { Color = Color.SkyBlue, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(centr, new Rectangle(0.5, 0.38, 130, 130)); AbsoluteLayout.SetLayoutFlags(centr, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(centr); //пуговица1 pugovica1 = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(pugovica1, new Rectangle(0.5, 0.34, 13, 13)); AbsoluteLayout.SetLayoutFlags(pugovica1, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(pugovica1); //пуговица2 pugovica2 = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(pugovica2, new Rectangle(0.5, 0.40, 13, 13)); AbsoluteLayout.SetLayoutFlags(pugovica2, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(pugovica2); //пуговица3 pugovica3 = new BoxView { Color = Color.Black, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(pugovica3, new Rectangle(0.5, 0.46, 13, 13)); AbsoluteLayout.SetLayoutFlags(pugovica3, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(pugovica3); //нижняя часть niz = new BoxView { Color = Color.SkyBlue, CornerRadius = 60 }; AbsoluteLayout.SetLayoutBounds(niz, new Rectangle(0.5, 0.67, 140, 140)); AbsoluteLayout.SetLayoutFlags(niz, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(niz); //убрать голову knopka1 = new Button { Text = "голова" }; knopka1.Clicked += Knopka1_Clicked; AbsoluteLayout.SetLayoutBounds(knopka1, new Rectangle(0.02, 0.9, 110, 55)); AbsoluteLayout.SetLayoutFlags(knopka1, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(knopka1); //смена цвета пуговиц knopka2 = new Button { Text = "пуговицы" }; knopka2.Clicked += Knopka2_Clicked; AbsoluteLayout.SetLayoutBounds(knopka2, new Rectangle(0.5, 0.9, 110, 55)); AbsoluteLayout.SetLayoutFlags(knopka2, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(knopka2); //злой снеговик knopka3 = new Button { Text = "злой снеговик" }; knopka3.Clicked += Knopka3_Clicked; AbsoluteLayout.SetLayoutBounds(knopka3, new Rectangle(0.95, 0.9, 110, 55)); AbsoluteLayout.SetLayoutFlags(knopka3, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(knopka3); //сдвинуть слево knopka4 = new Button { Text = "сдвинуть" }; knopka4.Clicked += Knopka4_Clicked; AbsoluteLayout.SetLayoutBounds(knopka4, new Rectangle(0.5, 1, 110, 55)); AbsoluteLayout.SetLayoutFlags(knopka4, AbsoluteLayoutFlags.PositionProportional); abs.Children.Add(knopka4); Content = abs; }