Пример #1
0
 /// <summary>
 ///     Selects the month.
 /// </summary>
 /// <param name="monthIndex">Index of the month.</param>
 /// <param name="animated">if set to <c>true</c> [animated].</param>
 private void SelectMonth(int monthIndex, bool animated)
 {
     if (monthIndex >= 0 && monthIndex < _picker.MonthCount)
     {
         _picker.ScrollToSelectedMonth(monthIndex, animated);
     }
 }
Пример #2
0
        /// <summary>
        /// Withes the selected dates.
        /// </summary>
        /// <param name="selectedDates">The selected dates.</param>
        /// <returns>FluentInitializer.</returns>
        /// <exception cref="Java.Lang.IllegalArgumentException">SINGLE mode can't be used with multiple selectedDates</exception>
        public FluentInitializer WithSelectedDates(ICollection <DateTime> selectedDates)
        {
            if (_calendar.Mode == CalendarPickerView.SelectionMode.Single && _calendar.SelectedDates.Count > 1)
            {
                throw new IllegalArgumentException("SINGLE mode can't be used with multiple selectedDates");
            }
            if (_calendar.SelectedDates != null)
            {
                foreach (var date in selectedDates)
                {
                    _calendar.SelectDate(date);
                }
            }
            int selectedIndex = -1;
            int todayIndex    = -1;

            for (int i = 0; i < _calendar.Months.Count; i++)
            {
                var month = _calendar.Months[i];
                if (selectedIndex == -1)
                {
                    if (_calendar.SelectedCals.Any(
                            selectedCal => CalendarPickerView.IsSameMonth(selectedCal, month)))
                    {
                        selectedIndex = i;
                    }
                    if (selectedIndex == -1 && todayIndex == -1 &&
                        CalendarPickerView.IsSameMonth(DateTime.Now, month))
                    {
                        todayIndex = i;
                    }
                }
            }
            if (selectedIndex != -1)
            {
                _calendar.ScrollToSelectedMonth(selectedIndex);
            }
            else if (todayIndex != -1)
            {
                _calendar.ScrollToSelectedMonth(todayIndex);
            }

            _calendar.ValidateAndUpdate();
            return(this);
        }