【问题标题】:Android Calender view color multiple dates and disable clickAndroid日历视图颜色多个日期并禁用点击
【发布时间】:2018-07-28 06:04:54
【问题描述】:

我正在制作一个考勤应用程序,我想突出显示学生缺勤的多个日期,并使日历视图不可点击。 只想显示日历。

【问题讨论】:

    标签: android date colors calendar


    【解决方案1】:

    这个问题看起来没有,你研究过。

    但是,你可以使用https://github.com/Applandeo/Material-Calendar-View

    优点:

    1. 易于定制。 【目前我在3-4个项目中使用过】

    2. 适合范围选择器、一日选择(基于事件)等要求

    3. 轻量级库,文件少/代码少。如果需要,您还可以删除范围选择器和其他不必要的代码。至于我,要求只有一日采摘者

    我想突出显示学生缺席的多个日期

    您可以创建EventDay 的对象列表,该列表采用Calendar 实例。您可以将其传递给CalendarView。它将在您的案例中显示不同的事件,即缺席者。

    使日历视图不可点击

    这没什么大不了的,您可以轻松做到这一点,因为 CalendarView 本身就是一个自定义视图。

    这是我的一个项目的最新截图。效果很好。

    【讨论】:

    • 这显示了一些错误。 calenderview.setEvents() 的第一个错误; // setEvents not found EventDay.java 中的第二个错误 DateUtils.setMidnight(day) // setMidnight 没有找到
    • 这不是这个问题的范围。每个图书馆都有一些学习曲线。给点时间。了解这个库中发生了什么。最终,您将能够得到想要的结果。
    • 为每个事件创建新的日历对象。我如何将多个日期传递给单个日历对象 Calendar calendar1 = Calendar.getInstance(); calendar1.add(Calendar.DAY_OF_MONTH, 2); events.add(new EventDay(calendar1, R.drawable.lock));日历 calendar2 = Calendar.getInstance(); calendar2.add(Calendar.DAY_OF_MONTH, 5); events.add(new EventDay(calendar2, R.drawable.lock)); calendarView.setEvents(事件);
    • 您需要为每个事件 AFAIK 传递一个新的日历实例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多