Android open source calendar

Last update: May 14, 2022

Etar Calendar

Etar Calendar

Etar (from Arabic: إِيتَار) is an open source material designed calendar made for everyone!

Get it on F-DroidGet it on Google Play

Etar Calendar

Why?

Well, I wanted a simple, material designed and state of the art open source calendar that anyone can make better.

Special thanks

The application is an enhanced version of AOSP Calendar. Without the help of Free Software for Android team, this app would be just a dream. So thanks to them!

Features

  • Month view.
  • Week, day & agenda view.
  • Uses Android calendar sync. Works with Google Calendar, Exchange, etc.
  • Material designed.
  • Support offline calendar.
  • Agenda widget.
  • Multilingual UI.

How to use Etar

Store your calendar on the phone only:

  • Create an offline calendar.

Sync your calendar to a server:

  • A cloud-synched calendar could be a google calendar, but you can also use any other public Caldav-server or even host your own (which would be the only way to keep full control over your data and still have ONE calendar usable from different devices.) To sync such a calendar to some server you need yet another app, e. g. DAVx5. That’s necessary because a Caldav client isn't included in Etar.

The following link provides a tutorial how to use Nextcloud + DAVx5 + Etar.

Technical explanation

On Android there are "Calendar providers". These can be calendars that are synchronized with a cloud service or local calendars. Basically any app could provide a calendar. Those "provided" calendars can be used by Etar. You can even configure in Etar which ones are to be shown and when adding an event to which calendar it should be added.

Important permissions Etar requires

  • READ_EXTERNAL_STORAGE & WRITE_EXTERNAL_STORAGE
    ->import and export ics calendar files
  • READ_CONTACTS(optional)
    Is queried the first time an appointment is created and can be rejected. But then search and location suggestions no longer work. ->allows search and location suggestions when adding guests to an event
  • READ_CALENDAR & WRITE_CALENDAR
    ->read and create calendar events

Contribute

Translations

Interested in helping to translate Etar? Contribute here: https://hosted.weblate.org/projects/etar-calendar/strings/

Google Play app description:

You can update/add your own language and all artwork files here

Build instructions

Install and extract Android SDK command line tools.

tools/bin/sdkmanager platform-tools
export ANDROID_HOME=/path/to/android-sdk/
git submodule update --init
gradle build

License

Copyright (c) 2005-2013, The Android Open Source Project

Copyright (c) 2013, Dominik Schürmann

Copyright (c) 2015-, The Etar Project

Licensed under the GPLv3: https://www.gnu.org/licenses/gpl-3.0.html Except where otherwise noted.

Google Play and the Google Play logo are trademarks of Google Inc.

GitHub

https://github.com/Etar-Group/Etar-Calendar
Comments
  • 1. Redesigning calendar preferences + offline calendar

    It started with my idea to integrate offline calendars into Etar. Then I found the current screen to manage calendars very difficult to use. Because I like the way they can be managed in Google's calendar app, I started to refactor Etar's preferences.

    There are still some todos left before this can potentially be merged. I am interested in general feedback if these UI changes are desired.

    I have a licensing question: Is Apache v2 a requirement? I would really prefer GPLv3 for a project that is not a library, but an end-user app to prevent greedy companies from taking the code and making a proprietary version out of it without contributing back. This happens a lot with K-9 Mail...

    Screenshot_20191227-095759

    Screenshot_20191227-100200

    Reviewed by dschuermann at 2019-12-27 09:05
  • 2. Etar is crashing.

    Yesterday everything was fine with etar, today it´s crashing instantly. I don´t know what could be the problem, i didn´t changed anything ( major ) on my phone. ( Android 7.1.1 )

    I deisntalled the app and installed it again, but the app is crashing instantly, after asking for calender access, with im allowing.

    EDIT: Stock calender is still working.

    Reviewed by natackx at 2017-02-21 20:34
  • 3. Add option to hide Contact's birthdays

    Contact birthdays are showed automatically, the problem is that with Birthday Adapter installed your calendars "Contacts birthdays" have to be hidden, otherwise duplicates of birthdays are being displayed; Unfortunately Etar do not have this option.

    In S Planner you can hide them: S Planner -> Calendars -> Display -> Uncheck Contact's birthdays. Doing so did only hide Contact's birthdays in S Planner but not in Etar.

    Its not possible to hide Contact's birthdays in Etar, can you please add that option?

    Reviewed by davidhedlund at 2016-11-08 00:17
  • 4. no notifcations

    Etar 1.0.16 freshly installed from f-droid, Etar notifications are allowed and set up as urgent (popup+sound), notification sound is configured, event has notification set up, I even turned battery optimization off for Etar. And nothing - no popup, no sound, no notification at all, even when screen is on. Android 8.1. Two other calendars are installed: google - notifications are disabled, and simple calendar pro - stopped.

    Reviewed by lvmm at 2019-04-24 10:16
  • 5. Margin around calendar view leads to dithering when scrolling

    When you zoom the calendar view very small and your screen is large enough, there is a small margin around the calendar view at the top and bottom. When you scroll, there are ugly dithering effects, like you can see in this screen record: https://i.imgur.com/sZewz8T.mp4

    Phone: OnePlus 5 with Andoid 9 (default display size, 5.5 inches, 1080 x 1920 pixels, 16:9 ratio (~401 ppi density).

    Reviewed by sedrubal at 2019-03-10 14:46
  • 6. Event formatting in month view refactored to introduce EventFormatter

    Long term goal of my changes is to allow multi-line calendar events in MonthView (this should be configurable) This commit decouples dealing with some formatting issues - like whether to show event time, or "more" indicator, from actual event drawing.

    Reviewed by 0xym at 2019-01-21 13:43
  • 7. Primary color selection

    Hi ! As some people seemed to want that feature (issue #310), I added the ability to choose the primary color of the app. Please tell me if you want it be done in another way (there might be better ways to implement that feature), or if you want me to change the colours. Any feedback is appreciated ! Cheers !

    Reviewed by Askrenteam at 2018-10-03 18:43
  • 8. Not exporting db in Android 10

    Clicking the "export db" button results in App crash, in Samsung galaxy a21s. I know is a beta feature, but i need to access my db file, anyone had the same problem? I switched recently(new phone) to Android10, always worked super well with previous versions i owned.

    Reviewed by teonactl at 2021-02-06 15:52
  • 9. Birthday contacts

    Hello, Could someone please explain to me why some of my android contacts are not showing up in etar? Some contacts are showing up and some are not. I can't see what makes them different I must add that I do not synchronize my contacts with google Many thanks for help

    Reviewed by plegrand1 at 2021-10-19 11:45
  • 10. Fix dayview glitches (rebase of #692)

    Fixes #457. #693 Merges #692 TODO: The commit messages might discard too much information and do not link original commits.

    This is a PR from what has been my current master branch.
    It enables code review while still being the most verbose and true to history, i.e. no commits have been melded yet, it's just the cherry-picks.
    My suggestion is to go from here. Whatever will be decided for the final squash that should be merged, i would definitely change the commit messages a bit to reflect on the squashed changes which, as i know now, are quite intertwined.

    Summary of my squashing considerations

    In my opinion, https://github.com/SebiderSushi/Etar-Calendar/commits/squashed is actually the least clean of my branches and definitely not atomic. I also squashed Fix problem with selecting hour 23 into Fix issue #457 and remove other bounces while keeping Don't mess with selected hour when scrolling. As i found out until now, doing so is incorrect:

    I did some testing and apparently, dbfed92215570932c7acb4d2d2b4aa7b4e255e3a Fix problem with selecting hour 23 only works if applied together with 8f59dc15ed7fc97edcac7d1167696e9aa8dc27b0 Don't mess with selected hour when scrolling

    Now i am very confused as to how to squash of retain the commits of this PR.

    Concerning this issue, @rparkins999 stated in #693:

    The problem with setting hour 23 only occurs when the display is squeezed so that all hours are visible. It is present both before and after my recent changes, but it is worse after.

    I was not able to reproduce this on my device. During my tests, i could easily reproduce the issue after applying Fix issue #457 and remove other bounces, but never reproduced it without this commit.
    If others are able to reproduce this as stated by @rparkins999 then i don't know, but according to my tests this issue is heavily linked to Fix issue #457 and remove other bounces so i'd suggest squashing the 3 commits together along with a descriptive commit description.

    The only commit that i would possibly preserve as an individual commit is Display hour 00 label if there is room for it. as it can be seen to resemble one distinct feature, is atomic and could (in theory) stand on its own (which i didn't test practically).

    Original commits used on this branch

    Right now, this branch contains the following, cherry-picked and unchanged commits from https://github.com/rparkins999/Etar-Calendar:

    dbfed92215570932c7acb4d2d2b4aa7b4e255e3a Fix problem with selecting hour 23
    8f59dc15ed7fc97edcac7d1167696e9aa8dc27b0 Don't mess with selected hour when scrolling
    cd1ecb86bba786d5d7905319298dad1af0990375 Display hour 00 label if there is room for it.
    b043785f79d46e6f24035ad0b6a51c5216bae41d Remove DEBUG_SCROLLING, left in branch DEBUG_SCROLLING
    36f1e6609eea42a4a8c5ea942983e577dea4a484 Fix issue #457 and remove other bounces
    

    Cherry-picking command line to reproduce: git cherry-pick 36f1e66 b043785 cd1ecb8 8f59dc1 dbfed92

    Reviewed by SebiderSushi at 2020-05-29 09:15
  • 11. App doesn't start on emulator and close inmediately on an Elephone with Android 5.1

    Hi everybody!

    I have imported Etar-calendar in Android Studio 3.0.1 clonning it from the repository through import assistance tool. After that, in the console I've executed the following commands:

    git submodules init git submodule update

    Then I've refreshed the gradle files but it's crashed because external projects detatimepicker, ex and timezonepicker are empty. So I have imported them clonning each one manually. Thanks to that, now the whole project builds succesfully, but when I try it on the emulator (Nexus 5 API 25), the app doesn't start and Android studio remains waiting for the emulator to come online. I've tried it several times, and once I have the message on the emulator that the app will close. Moreover, If I try to run the app in an Elephone with Android 5.1 API 22, I always have the message that the application has stopped as soon as I click on its icon.

    Has anyone bumped into this problem? Any idea?

    Thanks!

    Reviewed by inigomurgui at 2018-01-25 09:06
  • 12. No reminder notifications when app is not running

    I've tried a few versions from 1.0.24 to 1.0.30 and it's the same result. If Etar is not running in the background, there aren't any notifications. So if the phone is sleeping, I don't get them. It is disabled in doze, so that isn't the issue. It used to work fine, but only recently started acting up, I do not know why. It's a huge issue not being able to get reminders for important events.

    My device is a Sony Xperia xz1c running Android 8.1. Logcats don't show much unless I'm missing something.

    Reviewed by hockeymikey at 2022-05-16 05:06
  • 13. Bump gradle from 7.1.2 to 7.2.0

    Bumps gradle from 7.1.2 to 7.2.0.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Reviewed by dependabot[bot] at 2022-05-15 01:41
  • 14. App crashing when trying to enter main settings on Android 10 on latest 1.0.30

    Hi. I'm having problems with 1.0.30 - when I try to enter main settings the app crashes. This doesn't happen on version 1.0.29 - system is Android 10 If you need a video then I will record something later if you ask, but all that happens is:

    • I click on main settings & app crashes - reinstalling app doesn't help, only downgrade to 1.0.29
    Reviewed by hyserski at 2022-05-11 18:06
  • 15. White font on widget when events list is empty on light theme

    Hi. There is a problem with a font color when you use light theme for application & event list is empty. When you set your Etar like that then the font on widget is white & it looks strange. Here is a shot of that Screenshot_20220511-194817 Bug appears on Android 10 When events are present everything is fine.

    Reviewed by hyserski at 2022-05-11 17:58
  • 16. Bump actions/setup-java from 2.3.0 to 3.3.0

    Bumps actions/setup-java from 2.3.0 to 3.3.0.

    Release notes

    Sourced from actions/setup-java's releases.

    v3.3.0

    In scope of this pull request we add support for Amazon Corretto Build of OpenJDK (actions/setup-java#312).

    steps:
      - name: Checkout
        uses: actions/[email protected]
      - name: Setup-java
        uses: actions/[email protected]
        with:
          distribution: corretto
          java-version: 11
    

    Supported distributions

    Currently, the following distributions are supported:

    Keyword Distribution Official site License
    temurin Eclipse Temurin Link Link
    zulu Zulu OpenJDK Link Link
    adopt or adopt-hotspot Adopt OpenJDK Hotspot Link Link
    adopt-openj9 Adopt OpenJDK OpenJ9 Link Link
    liberica Liberica JDK Link Link
    microsoft Microsoft Build of OpenJDK Link Link
    corretto Amazon Corretto Build of OpenJDK Link Link

    v3.2.0

    This release introduces dependency caching support for sbt (actions/setup-java#302).

    Caching sbt dependencies

    steps:
    - uses: actions/[email protected]
    - uses: actions/[email protected]
      with:
        distribution: 'temurin'
        java-version: '11'
        cache: 'sbt'
    - name: Build with SBT
      run: sbt package
    

    v3.1.1

    This release introduces new output cache-hit (actions/setup-java#275) and update of actions/cache dependency to 2.0.2 (actions/setup-java#317)

    Add "cache-hit" output

    The cache-hit output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.

    Update actions/cache to 2.0.2

    We updated actions/cache package as the new version contains fixes related to GHES 3.5 (actions/setup-java#317)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Reviewed by dependabot[bot] at 2022-05-08 02:03
  • 17. Bump material from 1.5.0 to 1.6.0

    Bumps material from 1.5.0 to 1.6.0.

    Release notes

    Sourced from material's releases.

    1.6.0

    What's new since 1.5.0

    Other highlights

    • Material 3
      • Hide shadows on all M3 Toolbar styles, not just Surface style (b49284ec75ab16a9f649b97cb26aa4a17bc82512)
      • Migrate action bar popup themes to M3 (2ae3ca42985722900f53de9d9a1ef61c143767eb)
      • Update M3 card elevation according to the spec (bb23e2d6ad7888713d51e1dc53f36a69b0db62ff)
      • Add missing attributes to M3 button styles (3c9b45292d78a80f511d672bb5fe4ef1431dd8bd)
      • Update M3 navigation rail text appearances (6b57c52973c2ceb97c88da1df1b72859ed28775a)
      • Fix M3 date picker styles (fba1a341c31cbe2c5d71c239afc8bcc14af9d968)
      • Change checkedIconGravity values to enum (bc56d5b43b93ab6dbed4d561ad8b8b1351f9535c)
    • Badging
      • Prevent multiple badges being attached to a menu item at the same time (b3db1cc02855453f91353fca9e9cb11ccf0db9cc)
      • Refactored Badge state managing logic (bbbeacd64e3b1cc64e8edc6adf430aad45d03e32)
      • Added support for different locale on badges (b8f2dd53e0e19ea376639a610a0b51faabf0f9af)
    • BottomNavigationView
      • Added supported NavigationBarView#LabelVisibilityMode alternative to deprecated BottomNavigationView#LabelVisibilityMode. (12222684370dfb6c3400fd984578059d22741bb3)
      • Removed font scaling from NavigationBarView item labels. (d66676fd6bb93556c2cb3b0d9f7885821ac5bd8f)
      • Set backgroundTint explicitly to @​null in M3 bottom navigation styles (adbcf8cbbc6e95921d233c87eb87dc01b6cc8f0d)
    • BottomSheet
      • Fix bottom sheets in EXPANDED state when the expanded height is the same as the collapsed height (493243ea1e5a2a0eee675b652cae0eeaec73b6a3)
      • Simplify state transition logic (04c483cf3466cd0a7bf4835cadccc2372ba0da2b)
      • Fix activity leak when setting states on destroying activities (43114c4f7c9ca0c70c48c777dbd2957386d539e5)
      • Update edge-to-edge paddings when bottom sheet is laid out (19af0ac9d98cc3c504ce69ae38fbc00570cc85f5)
    • Chip
      • Refactored chip group selection logic to a standalone class (f3c6430f94bb7f82afc740e5545fd6302e9bf3aa)
      • Added missing attributes to M3 chip styles (cc18f3f7e8ff097b80d774911c2ede92d4b30698)
      • Update M3 chip styles with spec (8ed0ac9fd383bbb53fac100e74b2a0e9ee41bc9a)
    • CollapsingToolbarLayout
      • Fixed shadow issues when transition between expanded and collapsed states. (86e8b00ecdc9f9c5212e5a7e0700bd95be4da94b)
      • Constrain adjusted font weight to acceptable values (5dce006a5c1649df4eb6631c85619017728726af)
    • Color
      • Fix resources being re-harmonized when wrapContextIfAvailable() is used. (b402cb3c032ea10beb941284b49a9667ee7abe1e)
      • Added ColorGrid classes for color harmonization demo. (fcc10914f2b87c0e5f28761e8316bba2d9d1a318)
      • Add kyocera to dynamic colors allowlist and reorganized based on alphabetical order. (1dad5f65d4c54952a3a63efa4b9fd81b9c46d4a2)
      • Fix HarmonizedColorsOptions.Builder#setColorAttributes is marked as nullable (44054aaf3ab11d815e4086b37575e829e0b626db)
      • Added support for color resources harmonization in XML (869d9430677e66f9007bee65960dc0539627fd4a)
      • Refactor DynamicColors overloading methods and added DynamicColorsOptions class to support color harmonization. (bdbf052aaf1e824f221057ca3c3acae80d1a521d)
      • Update DynamicColors to use peekDecorView() instead of getDecorView() when applying dynamic color theme overlay (56ed07008ba0bff682e99c5d91126596fe9e6ddf)
      • Update DynamicColors util to applyStyle() on window decorView theme as well to fix potential ContextMenu issue (f6c8fa5aefc84a1543eca3056a538120de0b4297)
      • Update DynamicColors util to use activity.getTheme().applyStyle() instead of activity.setTheme() to workaround Force Dark issue (b84f35f1211028e7c456ce1ca91685a938f0ffcc)
      • Avoid Short#compare usage in ColorResourcesTableCreator.java since it requires API level 19 (48741b4e16236ee8ac9dc0052204e6a7be32c0f4)
      • Add Resource Table format for XML color Harmonization. (822a5b2cb2dedf133618d981140edf30db0058ef)
    • Dialog
      • Fixed crashes when colorControlHighlight is a CSL (1c5c054b70a55c2567cdfee460d3876158b2945a)
      • Added date and time picker themes to M3 dialog themes (8342f9025eefe64ca24312467d021a522e833769)

    ... (truncated)

    Commits
    • 1dbd3dd [M3][Color] Updated color harmonization demo
    • b402cb3 [M3][Color] Fix resources being re-harmonized when wrapContextIfAvailable() i...
    • fcc1091 [M3][Color] Added ColorGrid classes for color harmonization demo.
    • 207cb53 [M3][Color] Refactored MaterialColorSpec to take @​ColorRes or @​ColorInt for t...
    • 1dad5f6 [M3][Color] Add kyocera to dynamic colors allowlist and reorganized based on ...
    • 2bfc7ba [SnackBar] Fix margins are added multiple times when show() is called
    • d6cd0e6 Update library version to 1.6.0
    • a8256c2 [Gradle] Changed gradle so that tests run in parallel, preventing OutOfMemory...
    • 9be224b [Gradle] Make sure targetSdkVersion is applied to all Gradle sub projects
    • aeed987 [Tests] Update Robolectric to 4.7.3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Reviewed by dependabot[bot] at 2022-05-08 01:37
A better calendar for Android
A better calendar for Android

Caldroid Caldroid is a fragment that display calendar with dates in a month. Caldroid can be used as embedded fragment, or as dialog fragment. User ca

Apr 16, 2022
Standalone Android widget for picking a single date from a calendar view.
Standalone Android widget for picking a single date from a calendar view.

TimesSquare for Android Standalone Android widget for picking a single date from a calendar view. Usage Include CalendarPickerView in your layout XML.

May 3, 2022
An android library which provides a compact calendar view much like the one used in google calenders.
An android library which provides a compact calendar view much like the one used in google calenders.

CompactCalendarView CompactCalendarView is a simple calendar view which provides scrolling between months. It's based on Java's Date and Calendar clas

Apr 26, 2022
📅 CosmoCalendar is a fully customizable calendar with a wide variety of features and displaying modes.
📅 CosmoCalendar is a fully customizable calendar with a wide variety of features and displaying modes.

CosmoCalendar Made by Applikey Solutions Usage Customization Common Selection Current day Navigation buttons Weekend days Connected days Disabled days

May 3, 2022
CustomizableCalendar is a library that allows you to create your calendar, customizing UI and behaviour
CustomizableCalendar is a library that allows you to create your calendar, customizing UI and behaviour

CustomizableCalendar This library allows you to create a completely customizable calendar. You can use CustomizableCalendar to create your calendar, c

Dec 6, 2021
Demo app for a horizontal schedule(event) calendar
Demo app for a horizontal schedule(event) calendar

This is a demo project that showcases a horizontally laid out calendar that shows events in a timeline fashion. It is not a library, just a reference implementation for curious developers.

Apr 20, 2022
A simple calendar with events, customizable widgets and no ads.
A simple calendar with events, customizable widgets and no ads.

Simple Calendar A simple calendar with events and a customizable widget. A simple calendar with optional CalDAV synchronization. You can easily create

May 15, 2022
Solutions for Muetzilla's Advent Calendar

Solutions for Muetzilla's Advent Calendar Link To the Advents Calendar Content Solutions for Muetzilla's Advent Calendar Content Problem 1 Problem 2 P

Mar 23, 2022
Kmpcalendar - A calendar library and views written for kotlin multiplatform
Kmpcalendar - A calendar library and views written for kotlin multiplatform

KMPCalendarView Minimal Kotlin Multiplatform project with SwiftUI, Jetpack Compo

Jan 22, 2022
A Jetpack Compose library for handling calendar component rendering.
A Jetpack Compose library for handling calendar component rendering.

Compose Calendar Compose Calendar is a composable handling all complexity of rendering calendar component and date selection. Due to flexibility provi

May 12, 2022
Calendar - A component for compose desktop
Calendar - A component for compose desktop

日历 一个用于compose-desktop的日历组件。 截图 feature DayPicker的动画 月份选择器错误提示 点击非本月的时间会跳到上个月 to

Feb 7, 2022
Android Week View is an android library to display calendars (week view or day view) within the app. It supports custom styling.
Android Week View is an android library to display calendars (week view or day view) within the app. It supports custom styling.

Android Week View Android Week View is an android library to display calendars (week view or day view) within the app. It supports custom styling. Fea

May 7, 2022
Joda-Time library with Android specialization

Android has built-in date and time handling - why bother with a library? If you've worked with Java's Date and Calendar classes you can probably answer this question yourself, but if not, check out Joda-Time's list of benefits.

May 17, 2022
An adaptation of the JSR-310 backport for Android.

ThreeTen Android Backport An adaptation of the JSR-310 backport for Android. Attention: Development on this library is winding down. Please consider s

May 16, 2022
Android NTP time library. Get the true current time impervious to device clock time changes
Android NTP time library. Get the true current time impervious to device clock time changes

TrueTime for Android Make sure to check out our counterpart too: TrueTime, an NTP library for Swift. NTP client for Android. Calculate the date and ti

May 15, 2022
Android library for better Picker DialogFragments
Android library for better Picker DialogFragments

DialogFragments modeled after the AOSP Clock and Calendar apps to improve UX for picking time, date, numbers, and other things.

May 11, 2022
A material-styled android view that provisions picking of a date, time & recurrence option, all from a single user-interface.
A material-styled android view that provisions picking of a date, time & recurrence option, all from a single user-interface.

SublimePicker A customizable view that provisions picking of a date, time & recurrence option, all from a single user-interface. You can also view 'Su

May 10, 2022
Pick a date or time on Android in style
Pick a date or time on Android in style

Material DateTime Picker - Select a time/date in style Material DateTime Picker tries to offer you the date and time pickers as shown in the Material

May 14, 2022
A Material design back port of Android's CalendarView
A Material design back port of Android's CalendarView

Material Calendar View A Material design back port of Android's CalendarView. The goal is to have a Material look and feel, rather than 100% parity wi

May 9, 2022