コード例 #1
0
        private void AddClearButton()
        {
            var originalToolbar = this.Control.InputAccessoryView as UIToolbar;

            if (originalToolbar != null && originalToolbar.Items.Length <= 2)
            {
                var clearButton = new UIBarButtonItem("Clear", UIBarButtonItemStyle.Plain, ((sender, ev) =>
                {
                    CustomDatePicker baseDatePicker = this.Element as CustomDatePicker;
                    this.Element.Unfocus();
                    this.Element.Date = DateTime.Now;
                    baseDatePicker.CleanDate();
                }));

                var newItems = new List <UIBarButtonItem>();
                foreach (var item in originalToolbar.Items)
                {
                    newItems.Add(item);
                }

                newItems.Insert(0, clearButton);

                originalToolbar.Items = newItems.ToArray();
                originalToolbar.SetNeedsDisplay();
            }
        }
コード例 #2
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.SetBackgroundColor(global::Android.Graphics.Color.White);
                this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
                Control.SetHintTextColor(ColorStateList.ValueOf(global::Android.Graphics.Color.Blue));
                Control.SetPadding(Control.PaddingLeft, Control.PaddingTop, Control.PaddingRight, 7);


                CustomDatePicker element = Element as CustomDatePicker;

                if (!string.IsNullOrWhiteSpace(element.Placeholder))
                {
                    Control.SetTextColor(global::Android.Graphics.Color.Gray);
                    Control.Text = element.Placeholder;
                }
                this.Control.TextChanged += (sender, arg) => {
                    var selectedDate = arg.Text.ToString();

                    if (selectedDate == element.Placeholder)
                    {
                        Control.Text = DateTime.Now.ToString("dd/MM/yyyy");
                    }

                    this.Control.SetTextColor(this.Element.TextColor.ToAndroid(Xamarin.Forms.Color.FromHex("#000000")));
                };
            }
        }
コード例 #3
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                var view = (Element as CustomDatePicker);
                if (view != null)
                {
                    view.BackgroundColor = Xamarin.Forms.Color.Transparent;
                    SetFontSize(view);
                    customDatePicker = view;
                }

                //Control.Layer.BorderWidth = 1f;
                //Control.Layer.CornerRadius = 3f;
                //Control.Layer.BorderColor = Xamarin.Forms.Color.FromHex("#3D95AD").ToCGColor();
                Control.BorderStyle = UITextBorderStyle.None;
                Control.TextColor   = UIKit.UIColor.FromRGB(0, 0, 0);
                Control.TintColor   = UIKit.UIColor.FromRGB(158, 158, 158);
                Control.Font        = UIFont.FromName("Roboto-Regular", Control.Font.PointSize);
                Control.Background  = null;

                //Control.LeftView = new UIView(new CGRect(5, 10, 5, 10));
                //Control.LeftViewMode = UITextFieldViewMode.Always;
                //Control.RightView = new UIView(new CGRect(0, 0, 5, 0));
                //Control.RightViewMode = UITextFieldViewMode.Always;
            }
        }
コード例 #4
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);
            if (Control != null)
            {
                Control.Layer.BorderWidth = 0;
                Control.BorderStyle       = UITextBorderStyle.None;

                picker = Element as CustomDatePicker;
                if (!string.IsNullOrWhiteSpace(picker.Placeholder))
                {
                    Control.Text = picker.Placeholder;
                }


                Control.ShouldEndEditing += (textField) =>
                {
                    var seletedDate = (UITextField)textField;
                    var text        = seletedDate.Text;
                    if (picker != null)
                    {
                        if (text == picker.Placeholder)
                        {
                            Control.Text = picker.Placeholder;
                        }
                    }
                    return(true);
                };
            }
        }
コード例 #5
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);


            GradientDrawable gd = new GradientDrawable();

            gd.SetCornerRadius(30f); //increase or decrease to changes the corner look
            gd.SetColor(Android.Graphics.Color.Transparent);
            gd.SetStroke(5, Android.Graphics.Color.ParseColor("#3cc5d5"));

            this.Control.SetBackgroundColor(Android.Graphics.Color.Transparent);
            this.Control.SetPadding(50, 30, 50, 30);
            this.Control.SetBackgroundDrawable(gd);


            CustomDatePicker element = Element as CustomDatePicker;

            if (!string.IsNullOrWhiteSpace(element.Placeholder))
            {
                Control.Text = element.Placeholder;
            }
            this.Control.TextChanged += (sender, arg) => {
                var selectedDate = arg.Text.ToString();
                if (selectedDate == element.Placeholder)
                {
                    Control.Text = DateTime.Now.ToString("MM/dd/yyyy");
                }
            };
        }
コード例 #6
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null && Control != null)
            {
                //this.Control.Text = Element.Date.ToString("MM/dd/yy", CultureInfo.InvariantCulture)?.Replace("-", "/");

                Control.BorderStyle        = UITextBorderStyle.RoundedRect;
                Control.Layer.BorderColor  = UIColor.FromRGB(83, 63, 149).CGColor;
                Control.Layer.CornerRadius = 20;
                UIView paddingView = new UIView(new CGRect(0, 0, 10.0f, 20.0f));
                Control.LeftView                  = paddingView;
                Control.Layer.BorderWidth         = 0f;
                Control.AdjustsFontSizeToFitWidth = true;
                Control.TextColor                 = UIColor.FromRGB(83, 63, 149);

                var customDatePicker = (CustomDatePicker)this.Element;
                if (!customDatePicker.NullableDate.HasValue)
                {
                    this.Control.Text = customDatePicker.PlaceHolder;
                }

                UITextField  entry  = Control;
                UIDatePicker picker = (UIDatePicker)entry.InputView;
                picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels;

                CustomDatePicker baseDatePicker = this.Element as CustomDatePicker;
                this.Element.Unfocus();
                this.Element.Date = DateTime.Now;
                baseDatePicker.CleanDate();
            }
        }
コード例 #7
0
        /// <summary>
        /// When time field entries change, we can trigger a reevaluation of the page here
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TimeFieldChanged(object sender, EventArgs e)
        {
            var      timeField = (CustomTimePicker)sender;
            TimeSpan?time      = (TimeSpan?)timeField.NullableDate;
            int      valueId   = (int)timeField.ValueId;

            if (timeField.Mandatory)
            {
                var empty = (time == null);
                Validation[valueId] = !empty;
                SaveCommand.ChangeCanExecute();
            }
            if (time != null)
            {
                CustomStackLayout stack = (CustomStackLayout)timeField.Parent;
                foreach (var el in stack.Children)
                {
                    if (el is CustomDatePicker)
                    {
                        CustomDatePicker dp = (CustomDatePicker)el;
                        if (dp.NullableDate == null)
                        {
                            dp.NullableDate = DateTime.Now;
                        }
                    }
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// Clears the date field
        /// </summary>
        private void ClearDate(object parameter)
        {
            var dic = (Dictionary <String, Object>)parameter;

            dic.TryGetValue("text", out var textData);
            TextData text = (TextData)textData;

            dic.TryGetValue("date", out var dateObj);
            CustomDatePicker dateField = (CustomDatePicker)dateObj;

            dic.TryGetValue("time", out var timeObj);
            CustomTimePicker timeField = (CustomTimePicker)timeObj;

            dateField.NullableDate = null;
            timeField.NullableDate = null;
            DateTime?date    = (DateTime?)dateField.NullableDate;
            int      valueId = (int)dateField.ValueId;

            if (dateField.Mandatory)
            {
                var empty = (date == null);
                Validation[valueId] = !empty;
                SaveCommand.ChangeCanExecute();
            }

            using (SQLiteConnection conn = new SQLiteConnection(Preferences.Get("databaseLocation", "")))
            {
                text.value = String.Empty;
                //conn.Update(text);
                Record.UpdateRecord(text.record_fk);
            }
        }
コード例 #9
0
        void DateUnfocus(object sender)
        {
            var date = sender as CustomDatePicker;

            foreach (View t in grid.Children)
            {
                if (t.StyleId == date.StyleId)
                {
                    var stack = (StackLayout)t;

                    foreach (View v in stack.Children)
                    {
                        if (v.StyleId == date.StyleId)
                        {
                            string type = v.GetType().ToString();

                            if (type == "ASolute_Mobile.CustomRenderer.CustomDatePicker")
                            {
                                CustomDatePicker picker = (CustomDatePicker)v;

                                if (picker.Date.ToString("yyyy-MM-dd").Equals(DateTime.Now.ToString("yyyy-MM-dd")))
                                {
                                    picker.NullableDate = picker.Date;
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #10
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            try
            {
                CustomDatePicker element = Element as CustomDatePicker;
                if (e.NewElement != null)
                {
                    element = Element as CustomDatePicker;
                }
                else
                {
                    element = e.OldElement as CustomDatePicker;
                }

                if (Control != null)
                {
                    //var element = Element as CustomDatePicker;
                    GradientDrawable gd = new GradientDrawable();
                    //gd.SetCornerRadius(45); // increase or decrease to changes the corner look
                    gd.SetColor(global::Android.Graphics.Color.Transparent);
                    //gd.SetStroke(2, global::Android.Graphics.Color.Gray);
                    this.Control.SetBackgroundDrawable(gd);
                    this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
                    if (!string.IsNullOrWhiteSpace(element.EnterText))
                    {
                        Control.Text = element.EnterText;
                    }
                    Control.SetHintTextColor(ColorStateList.ValueOf(global::Android.Graphics.Color.Black));                    //for placeholder
                    if (element.CustomFontSize != 0.0)
                    {
                        Control.SetTextSize(ComplexUnitType.Dip, element.CustomFontSize);
                        //Control.SetTextSize(Android.Util.ComplexUnitType.Dip, element.CustomFontSize);
                    }

                    if (element.CustomFontFamily == "MontserratBold")
                    {
                        Graphicss.Typeface font = Graphicss.Typeface.CreateFromAsset(Forms.Context.Assets, "Montserrat-Bold.ttf");
                        Control.Typeface = font;
                    }
                    else if (element.CustomFontFamily == "MontserratLight")
                    {
                        Graphicss.Typeface font = Graphicss.Typeface.CreateFromAsset(Forms.Context.Assets, "Montserrat-Light.ttf");
                        Control.Typeface = font;
                    }
                    else
                    {
                        Graphicss.Typeface font = Graphicss.Typeface.CreateFromAsset(Forms.Context.Assets, "Montserrat-Regular.ttf");
                        Control.Typeface = font;
                    }
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
            //this.Control.InputType = InputTypes.TextVariationPassword;
        }
コード例 #11
0
        async void EntryScan(Image image)
        {
            try
            {
                var scanPage = new ZXingScannerPage();
                await Navigation.PushAsync(scanPage);

                scanPage.OnScanResult += (result) =>
                {
                    Device.BeginInvokeOnMainThread(async() =>
                    {
                        await Navigation.PopAsync();

                        SfTextInputLayout sfInputText = null;
                        Entry entry             = null;
                        CustomDatePicker picker = null;

                        foreach (View t in entryStack.Children)
                        {
                            if (t.StyleId == image.StyleId)
                            {
                                var stack = (StackLayout)t;

                                foreach (View v in stack.Children)
                                {
                                    if (v.StyleId == image.StyleId)
                                    {
                                        string type = v.GetType().ToString();

                                        if (type == "ASolute_Mobile.CustomRenderer.CustomEntry")
                                        {
                                            CustomEntry customentry = (CustomEntry)v;
                                            customentry.Text        = result.Text;
                                        }
                                        else if (type == "Syncfusion.XForms.TextInputLayout.SfTextInputLayout")
                                        {
                                            sfInputText = (SfTextInputLayout)v;
                                            entry       = (Entry)sfInputText.InputView;
                                            entry.Text  = result.Text;
                                        }
                                        else if (type == "ASolute_Mobile.CustomRenderer.CustomDatePicker")
                                        {
                                            picker      = (CustomDatePicker)v;
                                            picker.Date = DateTime.Parse(result.Text);
                                        }
                                    }
                                }
                            }
                        }
                    });
                };
            }
            catch
            {
            }
        }
コード例 #12
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            try
            {
                CustomDatePicker element = Element as CustomDatePicker;
                if (e.NewElement != null)
                {
                    element = Element as CustomDatePicker;
                }
                else
                {
                    element = e.OldElement as CustomDatePicker;
                }

                if (Control != null)
                {
                    //var element = Element as CustomDatePicker;
                    var textGiven = element.EnterText;
                    Control.BorderStyle = UITextBorderStyle.None;
                    Control.AdjustsFontSizeToFitWidth = true;
                    Control.Layer.CornerRadius        = 10;
                    Control.ExclusiveTouch            = true;
                    if (!string.IsNullOrWhiteSpace(textGiven))
                    {
                        Control.Text = textGiven;
                    }
                    Control.TextColor = UIColor.Black;
                    if (element.CustomFontFamily == "MontserratBold")
                    {
                        Control.Font = UIFont.FromName("Montserrat-Bold.ttf", 20.0f);
                    }
                    else if (element.CustomFontFamily == "MontserratLight")
                    {
                        Control.Font = UIFont.FromName("Montserrat-Light.ttf", 20.0f);
                    }
                    else
                    {
                        Control.Font = UIFont.FromName("Montserrat-Regular.ttf", 20.0f);
                    }
                    if (element.CustomFontSize != 0)
                    {
                        UIFont font = Control.Font.WithSize(element.CustomFontSize);
                        Control.Font = font;
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
        }
コード例 #13
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            datePicker = Element as CustomDatePicker;

            datePicker.DateSelected += (sender, arg) => {
                datePicker.DateSelectedCommand.Execute(datePicker.Date.ToShortDateString());
            };
        }
コード例 #14
0
    /// <summary>
    /// Checks if the comparer is equal to the new value
    /// If it is not, store the new value and fire changed subject
    /// </summary>
    /// <param name="d"></param>
    /// <param name="e"></param>
    private static void SelectedDate_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        CustomDatePicker datePicker = d as CustomDatePicker;

        if (datePicker.comparer != (DateTime)e.NewValue)
        {
            datePicker.comparer = (DateTime)e.NewValue;
            datePicker.dateChangedSubject.OnNext((DateTime)e.NewValue);
        }
    }
コード例 #15
0
 void SetFontSize(CustomDatePicker view)
 {
     if (view.FontSize != Font.Default.FontSize)
     {
         Control.Font = UIFont.SystemFontOfSize((System.nfloat)view.FontSize);
     }
     else if (view.FontSize == Font.Default.FontSize)
     {
         Control.Font = UIFont.SystemFontOfSize(14f);
     }
 }
コード例 #16
0
 private void SetFontSize(CustomDatePicker view)
 {
     if (view.FontSize != Font.Default.FontSize)
     {
         Control.SetTextSize(Android.Util.ComplexUnitType.Dip, (float)view.FontSize);
     }
     else if (view.FontSize == Font.Default.FontSize)
     {
         Control.SetTextSize(Android.Util.ComplexUnitType.Dip, (float)14);
     }
 }
コード例 #17
0
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.DatePicker> e)
        {
            base.OnElementChanged(e);

            CustomDatePicker datePicker = (CustomDatePicker)Element;

            if (datePicker != null)
            {
                Control.SetTextColor(datePicker.TextColor.ToAndroid());
            }
        }
コード例 #18
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            element = (CustomDatePicker)this.Element;

            if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.Image))
            {
                Control.Background = AddPickerStyles(element.Image);
            }
        }
コード例 #19
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            CustomDatePicker picker = (CustomDatePicker)Element;

            if (picker != null)
            {
                Control.TextColor = picker.TextColor.ToUIColor();
            }
        }
        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            CustomDatePicker element = Element as CustomDatePicker;

            base.OnElementPropertyChanged(sender, e);

            if (Control == null)
            {
                return;
            }

            UpdateBorders();
        }
コード例 #21
0
        // Setta il FONT_SIZE
        private void SetFont(CustomDatePicker datePicker)
        {
            UIFont uiFont;

            if (datePicker.Font != Font.Default && (uiFont = datePicker.Font.ToUIFont()) != null)
            {
                Control.Font = uiFont;
            }
            else if (datePicker.Font == Font.Default)
            {
                Control.Font = UIFont.SystemFontOfSize(17f);
            }
        }
コード例 #22
0
        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);


            try
            {
                CustomDatePicker element = Element as CustomDatePicker;
                if (Control != null)
                {
                    //var element = Element as CustomDatePicker;
                    GradientDrawable gd = new GradientDrawable();
                    //gd.SetCornerRadius(45); // increase or decrease to changes the corner look
                    gd.SetColor(global::Android.Graphics.Color.Transparent);
                    //gd.SetStroke(2, global::Android.Graphics.Color.Gray);
                    this.Control.SetBackgroundDrawable(gd);
                    this.Control.SetRawInputType(InputTypes.TextFlagNoSuggestions);
                    Control.Gravity = global::Android.Views.GravityFlags.CenterVertical;
                    if (!string.IsNullOrWhiteSpace(element.EnterText))
                    {
                        //Control.Text = element.EnterText;
                    }
                    Control.SetHintTextColor(ColorStateList.ValueOf(global::Android.Graphics.Color.Black));//for placeholder
                    if (element.CustomFontSize != 0.0)
                    {
                        Control.SetTextSize(ComplexUnitType.Dip, element.CustomFontSize);
                        //Control.SetTextSize(Android.Util.ComplexUnitType.Dip, element.CustomFontSize);
                    }

                    if (element.CustomFontFamily == "Avenir65")
                    {
                        Graphicss.Typeface font = Graphicss.Typeface.CreateFromAsset(Forms.Context.Assets, "AvenirLTStd-Medium.ttf");
                        Control.Typeface = font;
                    }
                    else if (element.CustomFontFamily == "Avenir45")
                    {
                        Graphicss.Typeface font = Graphicss.Typeface.CreateFromAsset(Forms.Context.Assets, "AvenirLTStd-Book.ttf");
                        Control.Typeface = font;
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
            //this.Control.InputType = InputTypes.TextVariationPassword;
        }
コード例 #23
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            CustomDatePicker datePicker = (CustomDatePicker)Element;


            if (datePicker != null)
            {
                Control.BorderThickness = new Windows.UI.Xaml.Thickness(0);
                SetPlaceholder(datePicker);
                SetTextColor(datePicker);
            }
        }
コード例 #24
0
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.DatePicker> e)
        {
            base.OnElementChanged(e);
            base.OnElementChanged(e);
            if (e.NewElement != null)
            {
                var view = (CustomDatePicker)Element;
                if (view.IsCurvedCornersEnabled)
                {
                    // creating gradient drawable for the curved background
                    var _gradientBackground = new GradientDrawable();
                    _gradientBackground.SetShape(ShapeType.Rectangle);
                    _gradientBackground.SetColor(view.BackgroundColor.ToAndroid());

                    // Thickness of the stroke line
                    _gradientBackground.SetStroke(view.BorderWidth, view.BorderColor.ToAndroid());

                    // Radius for the curves
                    _gradientBackground.SetCornerRadius(
                        DpToPixels(this.Context, Convert.ToSingle(view.CornerRadius)));

                    // set the background of the
                    Control.SetBackground(_gradientBackground);

                    Control.Gravity = GravityFlags.CenterHorizontal;

                    //Control.SetHint();
                    Control.SetHintTextColor(Android.Graphics.Color.Gray);
                }

                CustomDatePicker element = Element as CustomDatePicker;
                if (!string.IsNullOrWhiteSpace(element.Placeholder))
                {
                    Control.Text = element.Placeholder;
                }
                this.Control.TextChanged += (sender, arg) => {
                    var selectedDate = arg.Text.ToString();
                    if (selectedDate == element.Placeholder)
                    {
                        Control.Text = DateTime.Now.ToString("MM/dd/yyyy");
                    }
                };

                // Set padding for the internal text from border
                Control.SetPadding(
                    (int)DpToPixels(this.Context, Convert.ToSingle(12)), Control.PaddingTop,
                    (int)DpToPixels(this.Context, Convert.ToSingle(12)), Control.PaddingBottom);
            }
        }
コード例 #25
0
        public override void Draw(Canvas canvas)
        {
            CustomDatePicker customDatePicker = (CustomDatePicker)this.Element;

            // Create path to clip
            var path = new Path();

            path.AddRoundRect(0, 0, Width, Height, DpToPixels(this.Context, Convert.ToSingle(customDatePicker.CornerRadius)),
                              DpToPixels(this.Context, Convert.ToSingle(customDatePicker.CornerRadius)), Path.Direction.Ccw);

            canvas.Save();
            canvas.ClipPath(path);

            base.Draw(canvas);
        }
コード例 #26
0
        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (Control == null)
            {
                return;
            }

            CustomDatePicker datePicker = (CustomDatePicker)Element;

            if (e.PropertyName == CustomDatePicker.TextColorProperty.PropertyName)
            {
                this.Control.SetTextColor(datePicker.TextColor.ToAndroid());
            }
        }
コード例 #27
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            CustomDatePicker datePicker = (CustomDatePicker)Element;

            if (datePicker != null)
            {
                //TOGLIE IL BORDO
                Control.BorderStyle = UITextBorderStyle.None;
                Control.Font        = UIFont.FromName("Avenir", 14f);
                SetPlaceholder(datePicker);
                //SetFont(datePicker);
                SetTextColor(datePicker);
            }
        }
コード例 #28
0
        protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e)
        {
            base.OnElementChanged(e);

            CustomDatePicker datePicker = (CustomDatePicker)Element;


            if (e.OldElement == null)
            {
                Control.Background = null;

                var layoutParams = new MarginLayoutParams(Control.LayoutParameters);
                LayoutParameters         = layoutParams;
                Control.LayoutParameters = layoutParams;
            }
        }
コード例 #29
0
        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            try
            {
                CustomDatePicker element = Element as CustomDatePicker;

                if (Control != null)
                {
                    //var element = Element as CustomDatePicker;
                    var textGiven = element.EnterText;
                    Control.BorderStyle = UITextBorderStyle.None;
                    Control.AdjustsFontSizeToFitWidth = true;
                    Control.Layer.CornerRadius        = 10;
                    Control.ExclusiveTouch            = true;
                    if (!string.IsNullOrWhiteSpace(textGiven))
                    {
                        //Control.Text = textGiven;
                    }
                    Control.TextColor = UIColor.Black;
                    if (element.CustomFontFamily == "Avenir65")
                    {
                        Control.Font = UIFont.FromName("AvenirLTStd-Medium.ttf", 15f);
                    }
                    else if (element.CustomFontFamily == "Avenir45")
                    {
                        Control.Font = UIFont.FromName("AvenirLTStd-Book.ttf", 15f);
                    }
                    else
                    {
                    }
                    if (element.CustomFontSize != 0)
                    {
                        UIFont font = Control.Font.WithSize(element.CustomFontSize);
                        Control.Font = font;
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
        }
コード例 #30
0
        /// <summary>
        /// Fill out the date field with today's date
        /// </summary>
        private void FillOutDate(object parameter)
        {
            var dic = (Dictionary <String, Object>)parameter;

            dic.TryGetValue("text", out var textData);
            TextData text = (TextData)textData;

            dic.TryGetValue("date", out var dateObj);
            CustomDatePicker dateField = (CustomDatePicker)dateObj;

            dic.TryGetValue("time", out var timeObj);
            CustomTimePicker timeField = (CustomTimePicker)timeObj;
            var dt = DateTime.Now;

            dateField.NullableDate = dt.Date;
            timeField.NullableDate = new TimeSpan(dt.TimeOfDay.Hours, dt.TimeOfDay.Minutes, 0);
        }
コード例 #31
0
        public override Android.Views.View OnCreateView(Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Bundle savedInstanceState)
        {
            int theme = Arguments.GetInt("theme");
            int initialYear = Arguments.GetInt("year");
            int initialMonth = Arguments.GetInt("month");
            int initialDay = Arguments.GetInt("day");
            DateTime? minDate = null;
            DateTime? maxDate = null;

            if (Arguments.GetLong ("minDate", 0) > 0) {
                minDate = new DateTime (Arguments.GetLong ("minDate"));
            }
            if (Arguments.GetLong ("maxDate", 0) > 0) {
                maxDate = new DateTime (Arguments.GetLong ("maxDate"));
            }

            //获取指定主题样式的上下文
            Context contextThemeWrapper = new ContextThemeWrapper(
                                              Activity,
                                              theme == SlideDateTimePicker.HOLO_DARK ? Android.Resource.Style.ThemeHolo : Android.Resource.Style.ThemeHoloLight);

            LayoutInflater localInflater = inflater.CloneInContext(contextThemeWrapper);

            View v = localInflater.Inflate(Resource.Layout.Fragment_Date, container, false);

            mDatePicker = v.FindViewById<CustomDatePicker>(Resource.Id.datePicker);
            mDatePicker.Init(initialYear, initialMonth, initialDay, this);
            mDatePicker.DescendantFocusability = DescendantFocusability.BlockDescendants;

            if (minDate != null)
            {
                mDatePicker.MinDate = ConvertDateTimeLong(minDate.Value);
            }

            if (maxDate != null)
            {
                mDatePicker.MaxDate = ConvertDateTimeLong(maxDate.Value);
            }

            return v;
        }
コード例 #32
0
		void setFontSize(CustomDatePicker datePicker)
		{
			
		}
コード例 #33
0
		void SetTextColor(CustomDatePicker datePicker)
		{
			this.Control.TextColor = datePicker.TextColor.ToUIColor();
		}
コード例 #34
0
		void SetBorderStyle(CustomDatePicker datePicker)
		{
			this.Control.BorderStyle = (datePicker.HasBorder == true) ? UIKit.UITextBorderStyle.RoundedRect : UIKit.UITextBorderStyle.None;

		}