async void Init() { RequestWindowFeature((int)WindowFeatures.NoTitle); SetContentView(Resource.Layout.custom_date_picker); SetCancelable(true); Window.SetLayout(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); Window.SetBackgroundDrawable(new ColorDrawable(Android.Graphics.Color.Transparent)); calendarView = FindViewById <MaterialCalendarView>(Resource.Id.calendar_view); ViewGroup group1 = (ViewGroup)calendarView.GetChildAt(0); ViewGroup group2 = (ViewGroup)calendarView.GetChildAt(1); View header = calendarView.GetChildAt(0); header.Visibility = ViewStates.Gone; calendarView.SetCurrentDate(Calendar.Instance); calendarView.AddDecorators(new CurrentDayDecorator(Context)); calendarView.SetWeekDayFormatter(new ArrayWeekDayFormatter(new string[] { "M", "T", "W", "T", "F", "S", "S" })); calendarView.InvokeState().Edit().SetFirstDayOfWeek((int)Java.Util.Calendar.Saturday); btnCancel = FindViewById <ImageView>(Resource.Id.btnCancel); btnNext = FindViewById <ImageView>(Resource.Id.btnNext); btnPrevious = FindViewById <ImageView>(Resource.Id.btnPrevious); txtHeader = FindViewById <TextView>(Resource.Id.tvHeader); btnCancel.Click += BtnCancel_Click; btnNext.Click += BtnNext_Click; btnPrevious.Click += BtnPrevious_Click; calendarView.SetOnMonthChangedListener(new OnMonthChangedListener { MonthChanged = (calendarView, day) => { DateTime date = new DateTime(day.Year, day.Month + 1, day.Day); txtHeader.Text = "" + date.ToString("MMMM yyyy"); } }); }
public void OnMonthChanged(MaterialCalendarView p0, CalendarDay p1) { MonthChanged?.Invoke(p0, p1); }
public void OnDateSelected(MaterialCalendarView widget, CalendarDay date, bool selected) { _oneDayDecorator.Date = CalendarDay.From(date.Date); widget.InvalidateDecorators(); }