コード例 #1
0
        protected override void OnElementChanged(ElementChangedEventArgs <PinItemView> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
            }

            if (e.NewElement != null)
            {
                if (Control == null)
                {
                    var sideSize = (int)convertDpToPixel(44);

                    _button = new RippleButton(Context);
                    _button.SetWidth(sideSize);
                    _button.SetHeight(sideSize);
                    //_button.SetBackgroundColor(AColor.Red);
                    _button.SetBackgroundResource(Resource.Drawable.bkg_roundedview);
                    _button.Text     = Element.Text;
                    _button.Gravity  = GravityFlags.Center;
                    _button.OnClick += (sender, args) =>
                    {
                        Element?.Command?.Execute(Element?.CommandParameter);
                    };

                    FrameLayout frame = new FrameLayout(Context);
                    FrameLayout.LayoutParams @params = new FrameLayout.LayoutParams(sideSize, sideSize);
                    @params.Gravity = GravityFlags.Center;
                    frame.AddView(_button, @params);

                    SetNativeControl(frame);
                }
            }
        }
コード例 #2
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            var label = new Label {
                XAlign           = TextAlignment.Center,
                YAlign           = TextAlignment.Center,
                InputTransparent = true,
            };

            var i          = 0;
            var incCommand = new Command((obj) => {
                label.Text = "Count number: " + (i++).ToString();
            });

            var button = new RippleButton {
                Text         = "Click me!",
                BorderColor  = Color.Gray,
                BorderWidth  = 2.0,
                CornerRadius = 22,
                Icon         = FontAwesomeLabel.FACar,
                Command      = incCommand
            };

            var button2 = new RippleButton {
                Text            = "And then click me!",
                BorderColor     = Color.Red,
                BackgroundColor = Color.Aqua,
                BorderWidth     = 4.0,
                CornerRadius    = 4,
                RippleColor     = Color.Blue,
                Command         = incCommand
            };

            var button3 = new RippleButton {
                Text          = "What about me?",
                Icon          = FontAwesomeLabel.FATerminal,
                ImagePosition = ImagePosition.Top,
                BorderColor   = Color.Gray,
                BorderWidth   = 2.0,
                CornerRadius  = 22,
                Command       = incCommand
            };

            var button4 = new RippleButton {
                Text          = "Yup?",
                Icon          = FontAwesomeLabel.FAHome,
                ImagePosition = ImagePosition.Top,
                BorderColor   = Color.Gray,
                BorderWidth   = 2.0,
                CornerRadius  = 22,
                Command       = incCommand
            };

            var layout = new RelativeLayout();

            layout.Children.Add(button, () => new Rectangle(50, 20, layout.Width - 100, 44));
            layout.Children.Add(button2, () => new Rectangle(50, 80, layout.Width - 100, 44));
            layout.Children.Add(button3, () => new Rectangle(20, 160, layout.Width - 200, 150));
            layout.Children.Add(button4, () => new Rectangle(210, 190, 120, 75));
            layout.Children.Add(label, () => new Rectangle(10, 300, layout.Width - 20, 40));

            // In stack layout
            var stack = new StackLayout {
                Children =
                {
                    new RippleButton {
                        Text          = "Mega?",
                        Icon          = FontAwesomeLabel.FAHome,
                        ImagePosition = ImagePosition.Right,
                        BorderColor   = Color.Gray,
                        BorderWidth   = 2.0,
                        CornerRadius  = 22,
                        Command       = incCommand
                    }
                }
            };

            layout.Children.Add(stack, () => new Rectangle(0, 360, layout.Width, 40));

            Content = layout;
        }
コード例 #3
0
		protected override void OnAppearing ()
		{
			base.OnAppearing ();

			var label = new Label{ 
				XAlign = TextAlignment.Center,
				YAlign = TextAlignment.Center,
				InputTransparent = true,
			};

			var i = 0;
			var incCommand = new Command ((obj) => {
				label.Text = "Count number: " + (i++).ToString();
			});

			var button = new RippleButton {
				Text = "Click me!",
				BorderColor = Color.Gray,
				BorderWidth = 2.0,
				CornerRadius = 22,
				Icon = FontAwesomeLabel.FACar,
				Command = incCommand
			};

			var button2 = new RippleButton {
				Text = "And then click me!",
				BorderColor = Color.Red,
				BackgroundColor = Color.Aqua,
				BorderWidth = 4.0,
				CornerRadius = 4,
				RippleColor = Color.Blue,
				Command = incCommand
			};

			var button3= new RippleButton {
				Text = "What about me?",
				Icon = FontAwesomeLabel.FATerminal,
				ImagePosition = ImagePosition.Top,
				BorderColor = Color.Gray,
				BorderWidth = 2.0,
				CornerRadius = 22,
				Command = incCommand
			};

			var button4= new RippleButton {
				Text = "Yup?",
				Icon = FontAwesomeLabel.FAHome,
				ImagePosition = ImagePosition.Top,
				BorderColor = Color.Gray,
				BorderWidth = 2.0,
				CornerRadius = 22,
				Command = incCommand
			};

			var layout = new RelativeLayout ();
			layout.Children.Add (button, () => new Rectangle (50, 20, layout.Width - 100, 44));
			layout.Children.Add (button2, () => new Rectangle (50, 80, layout.Width - 100, 44));
			layout.Children.Add (button3, () => new Rectangle (20, 160, layout.Width - 200, 150));
			layout.Children.Add (button4, () => new Rectangle (210, 190, 120, 75));
			layout.Children.Add (label, () => new Rectangle (10, 300, layout.Width - 20, 40));

			// In stack layout
			var stack = new StackLayout {
				Children = {
					new RippleButton {
						Text = "Mega?",
						Icon = FontAwesomeLabel.FAHome,
						ImagePosition = ImagePosition.Right,
						BorderColor = Color.Gray,
						BorderWidth = 2.0,
						CornerRadius = 22,
						Command = incCommand
					}
				}
			};

			layout.Children.Add (stack, () => new Rectangle (0, 360, layout.Width, 40));

			Content = layout;
		}