5

I think the question says it all: is it possible to display events in the Android default CalendarView?

I know that it is made for widgets and not for a real Calendar application but my app should not be a Calendar application. It is only a little feature in my app so I think the View is perfect for my claims. I only can't view events in it, otherwise it is perfect for me.

I read this answer and tried to overwrite the onDraw method from CalenderView:

@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);
}

But even this code does not work and no rectangle is displayed. The other 4 methods are private so I can't overwrite them. Any other ideas how I can solve this problem? I do not want to use a library, but if there is no other way I'm looking for something what is really near to the stock CalendarView. Or maybe I can create a calendar file which is only visible in my app and not in other calendar apps?

Community
  • 1
  • 1
Cilenco
  • 6,951
  • 17
  • 72
  • 152

2 Answers2

6

You can't add events in default CalendarView. either you need to make it custom or you need to use some library.

I have used Caldroid library many times.it is easy to implement and robust.

enter image description here

Mehul Joisar
  • 15,348
  • 6
  • 48
  • 57
3

Shameless plug. I've also written my own android CalendarView which allows you to add events, listeners, provides infinite scrolling and is a gradle project: https://github.com/SundeepK/CompactCalendarView .

Sun
  • 2,658
  • 6
  • 28
  • 33