Example #1
0
 private void setLeftImage(MyPickerDateRenderer myPickerDateRenderer)
 {
     if (myPickerDateRenderer.SourceImageLeft != "")
     {
         CGRect cGRect = new CGRect(myPickerDateRenderer.BoundsImageLeft.X, myPickerDateRenderer.BoundsImageLeft.Y,
                                    myPickerDateRenderer.BoundsImageLeft.Width + 20, myPickerDateRenderer.BoundsImageLeft.Height);
         var     view      = new UIView(cGRect);
         var     imageView = new UIImageView();
         UIImage image     = UIImage.FromFile(myPickerDateRenderer.SourceImageLeft);
         if (image != null)
         {
             if (myPickerDateRenderer.ImageLeftColor != Color.Transparent)
             {
                 imageView.Image     = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                 imageView.TintColor = (myPickerDateRenderer.ImageLeftColor.ToUIColor());
             }
             else
             {
                 imageView.Image = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
             }
             CGRect cGRectImage = new CGRect(myPickerDateRenderer.BoundsImageLeft.X + 10, myPickerDateRenderer.BoundsImageLeft.Y,
                                             myPickerDateRenderer.BoundsImageLeft.Width, myPickerDateRenderer.BoundsImageLeft.Height);
             imageView.Frame = cGRectImage;
             view.AddSubview(imageView);
             Control.LeftView     = view;
             Control.LeftViewMode = UITextFieldViewMode.Always;
         }
     }
 }
        void SetDrawable(MyPickerDateRenderer myPickerDateRenderer)
        {
            var gradientDrawable = new GradientDrawable();

            gradientDrawable.SetColor(myPickerDateRenderer.StaticColor.ToAndroid());

            switch (myPickerDateRenderer.TypeBorder)
            {
            case TypeBorder.All:
                gradientDrawable.SetCornerRadii(new float[] { 80, 80, 80, 80,
                                                              80, 80, 80, 80 });
                break;

            case TypeBorder.Left:
                gradientDrawable.SetCornerRadii(new float[] { 80, 80, 0, 0,
                                                              0, 0, 80, 80 });
                break;

            case TypeBorder.Right:
                gradientDrawable.SetCornerRadii(new float[] { 0, 0, 80, 80,
                                                              80, 80, 0, 0 });
                break;

            case TypeBorder.Down:
                gradientDrawable.SetCornerRadii(new float[] { 0, 0, 0, 0,
                                                              80, 80, 80, 80 });
                break;

            case TypeBorder.Up:
                gradientDrawable.SetCornerRadii(new float[] { 80, 80, 80, 80,
                                                              0, 0, 0, 0 });
                break;
            }
            Control.SetBackground(gradientDrawable);
        }
 protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     base.OnElementPropertyChanged(sender, e);
     if (e.PropertyName.Equals(MyPickerDateRenderer.StaticColorProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         GradientDrawable     gradientDrawable     = (GradientDrawable)Control.Background;
         gradientDrawable.SetColor(myPickerDateRenderer.StaticColor.ToAndroid());
     }
 }
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.DatePicker> e)
        {
            base.OnElementChanged(e);

            if ((Control != null) && (e.OldElement == null))
            {
                MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
                SetDrawable(myPickerDateRenderer);

                Drawable imageLeft  = SetLeftImage(myPickerDateRenderer);
                Drawable imageRight = SetRightImage(myPickerDateRenderer);
                Control.SetCompoundDrawables(imageLeft, null, imageRight, null);

                //Control.Gravity = GravityFlags.Center;
                Control.CompoundDrawablePadding = 20;
            }
        }
 Drawable SetRightImage(MyPickerDateRenderer myPickerDateRenderer)
 {
     if (myPickerDateRenderer.SourceImageRight != "")
     {
         Drawable image = Context.GetDrawable(myPickerDateRenderer.SourceImageRight);
         if (image != null)
         {
             if (myPickerDateRenderer.ImageRightColor != Color.Transparent)
             {
                 image.SetColorFilter(myPickerDateRenderer.ImageRightColor.ToAndroid(), PorterDuff.Mode.SrcIn);
             }
             image.SetBounds((int)myPickerDateRenderer.BoundsImageRight.X + 5,
                             (int)myPickerDateRenderer.BoundsImageRight.Y,
                             (int)myPickerDateRenderer.BoundsImageRight.Width * 2,
                             (int)myPickerDateRenderer.BoundsImageRight.Height * 2);
         }
         return(image);
     }
     return(null);
 }
Example #6
0
        private void setRightImage(MyPickerDateRenderer myPickerDateRenderer)
        {
            if (myPickerDateRenderer.SourceImageRight != "")
            {
                CGRect cGRect = new CGRect(myPickerDateRenderer.BoundsImageRight.X, myPickerDateRenderer.BoundsImageRight.Y,
                                           myPickerDateRenderer.BoundsImageRight.Width + 20, myPickerDateRenderer.BoundsImageRight.Height);
                var     view      = new UIView(cGRect);
                var     imageView = new UIImageView();
                UIImage image     = UIImage.FromFile(myPickerDateRenderer.SourceImageRight);
                if (image != null)
                {
                    if (myPickerDateRenderer.ImageRightColor != Color.Transparent)
                    {
                        imageView.Image     = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                        imageView.TintColor = (myPickerDateRenderer.ImageRightColor.ToUIColor());
                    }
                    else
                    {
                        imageView.Image = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal);
                    }
                    CGRect cGRectImage = new CGRect(myPickerDateRenderer.BoundsImageRight.X + 10, myPickerDateRenderer.BoundsImageRight.Y,
                                                    myPickerDateRenderer.BoundsImageRight.Width, myPickerDateRenderer.BoundsImageRight.Height);
                    imageView.Frame = cGRectImage;
                    view.AddSubview(imageView);
                    Control.RightView     = view;
                    Control.RightViewMode = UITextFieldViewMode.Always;

                    if (myPickerDateRenderer.IsHelp)
                    {
                        UITapGestureRecognizer tapGesture = new UITapGestureRecognizer(HelpClicked);
                        Control.RightView.AddGestureRecognizer(tapGesture);
                    }
                    if (myPickerDateRenderer.IsEraser)
                    {
                        UITapGestureRecognizer tapGesture = new UITapGestureRecognizer(XClicked);
                        Control.RightView.AddGestureRecognizer(tapGesture);
                    }
                }
            }
        }
Example #7
0
 protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     base.OnElementPropertyChanged(sender, e);
     if (e.PropertyName.Equals(MyPickerDateRenderer.StaticColorProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         Control.BackgroundColor = myPickerDateRenderer.StaticColor.ToUIColor();
     }
     else if (e.PropertyName.Equals(MyPickerRenderer.ImageLeftColorProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         try
         {
             UIImageView uIImageView = (UIImageView)Control.LeftView.Subviews[0];
             uIImageView.TintColor = (myPickerDateRenderer.ImageLeftColor.ToUIColor());
         }
         catch { }
     }
     else if (e.PropertyName.Equals(MyPickerRenderer.ImageRightColorProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         try
         {
             UIImageView uIImageView = (UIImageView)Control.RightView.Subviews[0];
             uIImageView.TintColor = (myPickerDateRenderer.ImageRightColor.ToUIColor());
         }
         catch { }
     }
     else if (e.PropertyName.Equals(MyPickerDateRenderer.SourceImageRightProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         setRightImage(myPickerDateRenderer);
     }
     else if (e.PropertyName.Equals(MyPickerDateRenderer.IsEraserProperty.PropertyName))
     {
         MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
         setRightImage(myPickerDateRenderer);
     }
 }
Example #8
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);


            if (e.OldElement == null)
            {
                MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;
                TypeBorder = myPickerDateRenderer.TypeBorder;

                Control.BackgroundColor   = myPickerDateRenderer.StaticColor.ToUIColor();
                Control.Layer.BorderWidth = 0;
                Control.BorderStyle       = UITextBorderStyle.None;

                Control.Layer.MasksToBounds = true;

                if (myPickerDateRenderer.SourceImageLeft != "")
                {
                    setLeftImage(myPickerDateRenderer);
                }
                if (myPickerDateRenderer.IsHelp)
                {
                    myPickerDateRenderer.SourceImageRight = "help2.png";
                    myPickerDateRenderer.BoundsImageRight = new Rectangle(0, 0, 25, 25);
                    setRightImage(myPickerDateRenderer);
                }
                if (myPickerDateRenderer.IsEraser)
                {
                    myPickerDateRenderer.SourceImageRight = "x";
                    myPickerDateRenderer.BoundsImageRight = new Rectangle(0, 0, 25, 25);
                    setRightImage(myPickerDateRenderer);
                }
                if (!string.IsNullOrWhiteSpace(myPickerDateRenderer.Placeholder))
                {
                    Control.Text = myPickerDateRenderer.Placeholder;
                }
            }
        }
Example #9
0
        public void XClicked(NSObject sender)
        {
            MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;

            Control.Text = "borrado";
        }
Example #10
0
        public void HelpClicked(NSObject sender)
        {
            MyPickerDateRenderer myPickerDateRenderer = (MyPickerDateRenderer)Element;

            myPickerDateRenderer.DisplayAlertEntry();
        }