将事件添加到CalendarView

时间:2014-02-24 22:34:05

标签: android android-calendar calendarview

我认为问题就是:是否可以在Android默认CalendarView中显示事件?

我知道它是针对小部件而不是真正的日历应用程序,但我的应用程序不应该是日历应用程序。它只是我的应用程序中的一个小功能,所以我认为View非常适合我的声明。我只能查看其中的事件,否则它对我来说是完美的。

我读了这个answer并试图从CalenderView覆盖onDraw方法:

@Override
protected void onDraw(Canvas canvas)
{
    p = new Paint();

    p.setColor(Color.RED);
    p.setStrokeWidth(10);

    super.onDraw(canvas);
    canvas.drawRect(0, 0, 100, 100, p);
}

但即使这段代码也不起作用,也没有显示矩形。其他4种方法是private,因此我无法覆盖它们。我有什么其他想法可以解决这个问题吗?我不想使用图书馆,但如果没有其他办法,我正在寻找真正靠近股票CalendarView的东西。或者我可以创建一个仅在我的应用程序中可见但不在其他日历应用程序中可见的日历文件?

2 个答案:

答案 0 :(得分:5)

您无法在默认CalendarView中添加事件。要么你需要自定义,要么你需要使用一些库。

我多次使用Caldroid库。它易于实现且功能强大。

enter image description here

答案 1 :(得分:2)

无耻的插头。我还编写了自己的android CalendarView,它允许您添加事件,监听器,提供无限滚动,并且是一个gradle项目:https://github.com/SundeepK/CompactCalendarView