protected override void OnSizeAllocated(double width, double height) { base.OnSizeAllocated(width, height); if (width != this.width || height != this.height) { this.width = width; this.height = height; if (width > height) { Debug.WriteLine("Horizontal"); Device.BeginInvokeOnMainThread(() => { /* Switching to Week View * * Current Bug on Week View: All Day Events show up as an extra day long. * Should not be programmed to subtract a day in datetime because the overall standard * is that all day events are from one day at 0:0:0 to the next day at 0:0:0. * * SyncFusion says this bug should be fixed in their update at the end of May 2018 so * please update the NuGet package then. * * https://www.syncfusion.com/forums/137099/all-day-event-rendering-as-two-days-in-week-view * */ cal.ScheduleView = ScheduleView.WeekView; cal.TimeIntervalHeight = 50; cal.ViewHeaderHeight = 55; //Creating new instance of WeekViewSettings WeekViewSettings weekViewSettings = new WeekViewSettings(); //Creating new instance of WeekLabelSettings WeekLabelSettings weekLabelSettings = new WeekLabelSettings(); //custom UI weekLabelSettings.DateFormat = "dd"; weekViewSettings.WeekLabelSettings = weekLabelSettings; weekViewSettings.ShowAllDay = true; weekViewSettings.StartHour = 05; cal.WeekViewSettings = weekViewSettings; ViewHeaderStyle viewHeaderStyle = new ViewHeaderStyle(); viewHeaderStyle.DateFontSize = 15; cal.ViewHeaderStyle = viewHeaderStyle; }); } else { Debug.WriteLine("Vertical"); Device.BeginInvokeOnMainThread(() => { cal.ScheduleView = ScheduleView.MonthView; }); } } }
public override View GetSampleContent(Context context) { this.mContext = context; LinearLayout linearLayout = new LinearLayout(context); linearLayout.Orientation = Orientation.Vertical; //creating instance for Schedule sfSchedule = new SfSchedule(context); HeaderStyle headerStyle = new HeaderStyle(); headerStyle.BackgroundColor = Color.Argb(255, 214, 214, 214); headerStyle.TextColor = Color.Black; ViewHeaderStyle viewHeader = new ViewHeaderStyle(); viewHeader.BackgroundColor = Color.Argb(255, 28, 28, 28); viewHeader.DayTextColor = Color.Argb(255, 238, 199, 43); viewHeader.DateTextColor = Color.Argb(255, 238, 199, 43); sfSchedule.HeaderStyle = headerStyle; //sfSchedule.ViewHeaderStyle = viewHeader; DayViewSettings dayViewSettings = new DayViewSettings(); dayViewSettings.TimeSlotBorderStrokeWidth = 2; dayViewSettings.VerticalLineStrokeWidth = 0; dayViewSettings.VerticalLineColor = Color.Transparent; dayViewSettings.TimeSlotBorderColor = Color.LightGray; dayViewSettings.NonWorkingHoursTimeSlotBorderColor = Color.LightGray; sfSchedule.DayViewSettings = dayViewSettings; Button button = new Button(context); button.Text = "+ New event"; button.SetTextColor(Color.White); button.Gravity = GravityFlags.Left; button.SetBackgroundColor(Color.Rgb(0, 122, 255)); button.Click += Button_Click; sfSchedule.SelectionView = button; //set the appointment collection getAppointments(); sfSchedule.Appointments = appointmentCollection; sfSchedule.AppointmentViewLayout = ViewLayoutOptions.Overlay; sfSchedule.MonthCellLoaded += SfSchedule_MonthCellLoaded; sfSchedule.LayoutParameters = new FrameLayout.LayoutParams( LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); sfSchedule.AppointmentLoaded += SfSchedule_AppointmentLoaded; sfSchedule.CellTapped += sfSchedule_ScheduleTapped; linearLayout.AddView(sfSchedule); return(linearLayout); }
public override View GetSampleContent(Context context) { mainLayout = new FrameLayout(context); mContext = context; mainLayout.LayoutParameters = new ViewGroup.LayoutParams(FrameLayout.LayoutParams.MatchParent, FrameLayout.LayoutParams.MatchParent); density = mContext.Resources.DisplayMetrics; linearLayout = new LinearLayout(context); linearLayout.Orientation = Orientation.Vertical; linearLayout.LayoutParameters = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); //creating instance for Schedule sfSchedule = new SfSchedule(context); sfSchedule.LayoutParameters = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); sfSchedule.ScheduleView = ScheduleView.DayView; sfSchedule.HeaderHeight = 0; scheduleCustomHeader = new ScheduleCustomHeader(context); ViewHeaderStyle viewHeader = new ViewHeaderStyle(); viewHeader.BackgroundColor = Color.Argb(255, 242, 242, 242); sfSchedule.ViewHeaderStyle = viewHeader; //set the appointment collection getAppointments(); sfSchedule.ItemsSource = appointmentCollection; linearLayout.AddView(scheduleCustomHeader.HeaderLayout); linearLayout.AddView(sfSchedule); editor = new ScheduleAppointmentEditor(context, sfSchedule); editor.EditorLayout.LayoutParameters = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); viewOptionLayout = new ScheduleViewOptionLayout(mContext, sfSchedule); //viewOptionLayout.LayoutParameters = new ViewGroup.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); mainLayout.AddView(linearLayout); mainLayout.AddView(editor.EditorLayout); mainLayout.AddView(viewOptionLayout.OptionLayout); mainLayout.GetChildAt(2).SetY(density.HeightPixels / 14); editor.EditorLayout.Visibility = ViewStates.Invisible; viewOptionLayout.OptionLayout.Visibility = ViewStates.Invisible; HookEvents(); propertylayout = SetOptionPage(context); return(mainLayout); }