Calendar

A month view. The date it opens on is set here; wiring it to a real clock is done in your own code from ui_events.c.

Group: Controller · Default size: 240 × 220 · Style parts: Main, Items (the day squares), Scrollbar

A dropped Calendar showing July 2026 from Sunday, the 1st ringed and the last days of June and first of August in grey.
A Calendar as it is dropped: 1 July 2026.
The Calendar settings section: Year 2026, Month 10, Day 16, Day names empty, Highlighted dates 2026-10-05 and 2026-10-31.
Its settings, set as the example below sets them.
SettingDefaultWhat it does
Year / Month / Day2026 / 7 / 1Today, as the calendar first knows it: its month is shown and the day is ringed.
Day namesSu Mo Tu We Th Fr SaSeven lines, Sunday first, in place of the built-in names. The week starts on Sunday, as LVGL’s does.
Highlighted dates(none)One date a line as YYYY-MM-DD. Those in the month shown are tinted with the theme’s primary colour.

Styling the days. The day squares are the Items part: a border, a background, a text colour and font for every day. The theme gives them a thin grey border and a faint white fill. The day names and the days of other months are drawn without fill or border, in the disabled look. Checked is the highlighted dates: style Items in the Checked state to change how they look. LVGL keeps a highlighted date’s fill, and on LVGL 9 its border, in the theme’s primary colour, and the designer says so as a note. Arduino, ESP-IDF and MicroPython; ESPHome has no calendar. Compiled, not run on a board.

Example: opening on a given day

  1. Drag a Calendar onto the screen.
  2. Under Calendar settings set Year to 2026, Month to 10 and Day to 16. The month is shown, with that day marked.
  3. Put 2026-10-05 and 2026-10-31 in Highlighted dates, one a line. Both are tinted. The days of September and November that fill the first and last weeks are drawn in grey.
A calendar for October 2026, weeks from Sunday, with the 16th ringed in blue and the 5th and 31st tinted blue.
16 October 2026, with two dates highlighted.