/// <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);
 }
Exemple #2
0
		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);
		}
Exemple #6
0
			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;
		}
Exemple #9
0
		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;
            }
        }
Exemple #11
0
        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");
            }
        }
Exemple #12
0
		// 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
				}
			};
		}
Exemple #13
0
        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;
        }
Exemple #18
0
 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
                }
            };
        }
Exemple #20
0
        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
                }
            };
        }
Exemple #26
0
        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;
        }
Exemple #27
0
        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 }
            };
        }
Exemple #28
0
#pragma warning disable 1998 // considered for removal
        async Task Cancel(BoxView box)
#pragma warning restore 1998
        {
            box.AbortAnimation("animate");
            box.AbortAnimation("kinetic");
        }
Exemple #29
0
        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();
                }
            });
        }
Exemple #30
0
#pragma warning disable 1998 // considered for removal
        async Task Animate(BoxView box)
#pragma warning restore 1998
        {
            box.Animate("animate", d => d, d => { }, 100, 1);
        }
Exemple #31
0
		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);
		}
Exemple #32
0
		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;
					}
				}
		}
Exemple #33
0
        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;
            };
        }
Exemple #34
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);
		}
Exemple #35
0
        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();
        }
Exemple #36
0
        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;
        }
Exemple #37
0
		/* 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
                }
            };
        }
Exemple #39
0
 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;
 }
Exemple #41
0
#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");
        }
Exemple #42
0
        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);
        }
Exemple #43
0
        static async Task AnimateScale(BoxView box)
        {
            await box.ScaleTo(2);

            await box.ScaleTo(0.5);
        }
Exemple #44
0
        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;
        }