Skip to content

日历Api

yannecer edited this page Apr 1, 2020 · 24 revisions

月日历MonthCalendar、周日历WeekCalendar

  /**
     * 设置选中模式
     *
     * @param checkModel SINGLE_DEFAULT_CHECKED-单个 默认每页选中  默认模式 每页都会有一个选中
     *                   SINGLE_DEFAULT_UNCHECKED-单个 默认不选中 点击、跳转选中
     *                   MULTIPLE-多选
     */
    void setCheckMode(CheckModel checkModel);

    /**
     * 获取日历的选中模式 折叠日历中用到
     */
    CheckModel getCheckModel();

    /**
     * 多选个数和模式
     *
     * @param multipleCount      多选个数
     * @param multipleCountModel FULL_CLEAR-超过清除所有
     *                           FULL_REMOVE_FIRST-超过清除第一个
     */
    void setMultipleCount(int multipleCount, MultipleCountModel multipleCountModel);


    /**
     * 默认选中时,是否翻页选中第一个,只在checkModel==SINGLE_DEFAULT_CHECKED有效
     */
    void setDefaultCheckedFirstDate(boolean isDefaultCheckedFirstDate);


    /**
     * 跳转日期
     *
     * @param formatDate 必须为 yyyy-MM-dd 的字符串
     */
    void jumpDate(String formatDate);

    /**
     * 跳转日期
     */
    void jumpDate(int year, int month, int day);

    /**
     * 跳转日期,跳转到对应月份
     */
    void jumpMonth(int year, int month);


    /**
     * 上一页 上一周 上一月
     */
    void toLastPager();

    /**
     * 下一页 下一周 下一月
     */
    void toNextPager();

    /**
     * 回到今天
     */
    void toToday();

    /**
     * 设置自定义绘制类
     *
     * @param calendarPainter 实现CalendarPainter接口
     */
    void setCalendarPainter(CalendarPainter calendarPainter);

    /**
     * 设置自定义适配器 继承CalendarAdapter,实现对应方法,自定义
     *
     * @param calendarAdapter 继承抽象类CalendarAdapter
     */
    void setCalendarAdapter(CalendarAdapter calendarAdapter);

    /**
     * 刷新日历 刷新viewpager中存在的view
     */
    void notifyCalendar();

    /**
     * 设置初始化日期
     *
     * @param formatInitializeDate 必须为 yyyy-MM-dd 的字符串
     */
    void setInitializeDate(String formatInitializeDate);

    /**
     * 设置初始化日期和可用区间  必须为 yyyy-MM-dd 的字符串
     *
     * @param startFormatDate      日历开始日期 默认1901-01-01
     * @param endFormatDate        日历结束日期 默认2099-12-31
     * @param formatInitializeDate 初始化选日期
     */
    void setDateInterval(String startFormatDate, String endFormatDate, String formatInitializeDate);

    /**
     * 设置可用区间 必须为 yyyy-MM-dd 的字符串
     *
     * @param startFormatDate 日历开始日期 默认1901-01-01
     * @param endFormatDate   日历结束日期 默认2099-12-31
     */
    void setDateInterval(String startFormatDate, String endFormatDate);

    /**
     * 单选日期变化监听
     */
    void setOnCalendarChangedListener(OnCalendarChangedListener onCalendarChangedListener);

    /**
     * 多选日期变化监听
     */
    void setOnCalendarMultipleChangedListener(OnCalendarMultipleChangedListener onCalendarMultipleChangedListener);

    /**
     * 设置点击了不可用日期监听
     */
    void setOnClickDisableDateListener(OnClickDisableDateListener onClickDisableDateListener);

    /**
     * 获取xml参数
     */
    Attrs getAttrs();

    /**
     * 获取绘制类
     */
    CalendarPainter getCalendarPainter();

    /**
     * 获取适配器
     */
    CalendarAdapter getCalendarAdapter();

    /**
     * 获取全部选中的日期集合
     */
    List<LocalDate> getTotalCheckedDateList();

    /**
     * 获取当前页面选中的日期集合
     */
    List<LocalDate> getCurrPagerCheckDateList();

    /**
     * 获取当前页面的日期集合 如果是月周折叠日历 周状态下获取的是一周的数据,月状态下获取的一月的数据
     */
    List<LocalDate> getCurrPagerDateList();

    /**
     * 月周折叠日历滑动过程中的滑动距离
     *
     * @param currentDistance 当前滑动的距离
     */
    void updateSlideDistance(int currentDistance);

    /**
     * 设置日历上下月能否点击
     */
    void setLastNextMonthClickEnable(boolean enable);


    /**
     * 设置日历是否可以左右滑动
     */
    void setScrollEnable(boolean scrollEnable);


    /**
     * @param calendarBackground 实现了CalendarBackground接口的背景
     * @throws IllegalAccessException 月周折叠日历不允许使用此方法
     *                                折叠日历请调用setMonthCalendarBackground()和setWeekCalendarBackground()
     */
    void setCalendarBackground(CalendarBackground calendarBackground) throws IllegalAccessException;

    /**
     * @return 获取日历的背景
     * @throws IllegalAccessException 月周折叠日历不允许使用此方法
     */
    CalendarBackground getCalendarBackground() throws IllegalAccessException;


    /**
     * 获选模式下,初始化时选中的日期
     *
     * @param dateList 日期几何 yyyy-MM-dd
     */
    void setCheckedDates(List<String> dateList);



Clone this wiki locally