Summer 2019 is almost over and this is a great time to present my shortlist of 10 Android libraries written purely in Kotlin programming language. Definitely worth to check out. A couple of them I already use in my app and I don’t regret to not to include them in my project.

So, all you have to do sit back, take a cup of coffee and check out these kick-ass libraries.

Let’s get started with the list. Enjoy!

Note: All libraries that we’re going to explore are written purely in Kotlin programming language.

1. Dots Indicator

Dots Indicator is a library that provides, dynamic and adjustable animation between view pager dots. It supports ViewPager and ViewPager2.

You can find the screenshots and link to the library below.

Currently, the library supports three types of indicator animation DotsIndicator, SpringDotsIndicator, and WormDotsIndicator. You can easily customize the dotsColor, dotsStrokeColor, dotsSize, dotsSpacing as well as dampingRatio and stiffness as well.

The library supports API level 15+. You can also find the sample app on the GitHub page.

GitHub Link -> https://github.com/tommybuonomo/dotsindicator

2. Calendar View

A highly customizable calendar library for Android created by Kizito Nwose. With this library, your calendar will look however you want it to. Here are the screenshots:

Currently, this library offers the following features:

Single or range selection.

Week or month mode–show 1 row of weekdays, or any number of rows from 1 to 6.

Boundary dates–limit the calendar date range.

custom date view–make your day cells look however they want

And many more…

This library supports API level 17+ and it has really good documentation plus a sample app and it is released under MIT license.

GitHub Link -> https://github.com/kizitonwose/CalendarView

3. Easy Float

If you ever use the Facebook app window floating feature and wonder how did these guys make this feature then you gonna love this library. You can simply float windows with only just one line of code. Floating windows have never been easier before on Android like the example below.

Main features include:

Support single page floating window, no permission to ask.

Support a global floating window even when the app is foreground

Support drag-and-drop floating window as well as callback status as needed with the help of kotlin DSL.

Support notification pop-ups.

Support for the setting of animation, you can replace it yourself.

Note: The README of this library written in Chinese but you can easily translate the page in English.

Library also has a sample app and it is released under the Apache2.0 license.

GitHub Link -> https://github.com/princekin-f/EasyFloat

4. Timeline-View

The Timeline-View is not a new library. It has been around for almost four years but recently they re-write most of the part of the library in kotlin programming language. If you ever working on a project where you need to track the shipment time or order in delivery, steppers etc then this library is worth to check out. I’m sure you gonna love this library.

It has really comprehensive documentation and there are more than 2800 GitHub users who can’t be wrong! Timeline View is released under the Apache2.0 license.

GitHub Link -> https://github.com/vipulasri/Timeline-View

5. Coil-Kt (Coil)

Almost in every Android application, we love to use Picasso and Glide library for image loading. And now there’s a new image loading library called Coil-kt. It is a new library written purely in kotlin backend by coroutines API.

Recently, I got a chance to use this library in one of my freelance projects and I have to say the results are amazing. Currently, there are more than 2200+ Github users who star this library.

I also wrote an article on Coil-kt library you may wanna check it out.

GitHub Link -> https://github.com/coil-kt/coil

6. Simple Calendar

Another implementation of Calendar dedicated to showing events and customizable widgets. With this library, you can easily set up reminders and also display week numbers.

The designs of this library a little complex for beginners but they have a sample app which pretty much self-explanatory. This library contains a short but comprehensive README along with the sample app. It is released under GNU (General Public License 3.0) and they upload the APK on PlayStore.

GitHub Link -> https://github.com/SimpleMobileTools/Simple-Calendar

7. Material Drawer

This a library that we can consider the most used for Drawer Layout in Andoird application. There are currently more than 30+ apps on PlayStore who are using this Material Drawer in their application.

This is the short explanation from Material Drawer team:

The flexible easy to use all in one drawer library for your Android project. Stop spending time on default behavior.

There are so many Material Designs Icons, font awesome, themes, and transitions used in the library which you can easily integrate in less than 5 minutes. It supports both light and dark, expandable list, multiple account switcher options, badge support and so much more.

The library is compatible with API level 14+ and it is really well documented. It is released under the Apache 2.0 license.

GitHub Link -> https://github.com/mikepenz/MaterialDrawer

8. What If

WhatIf is a kotlin extension library for expressing a single if-else statement, nullable and boolean. This library tries to replicate our if statements in a lambda pattern. Here is the example of the library taken from GitHub.

Currently, it offers:

WhatIf : An expression for invoking whatIf lambda when the give boolean is true or not-null.

: An expression for invoking lambda when the give boolean is true or not-null. whatIfNot: Sort of work like an else statement.

Sort of work like an else statement. whatIfNotNull: For invoking whatIf lambda when the target object is not null.

For invoking lambda when the target object is not null. whatIfNotNotNullOrEmpty: An expression for invoking whatIf lambda when the string collection or array-type is not null and not empty.

An expression for invoking whatIf lambda when the string collection or array-type is not null and not empty. whatIfHasExtra: An expression for invoking whatIf lambda when the Activity’s intent extras are not null and not empty.

The documentation is quite simple, easy to understand and it is perfectly suitable for beginners. It is released under the Apache 2.0 license and you can read more about the library on GitHub.

GitHub Link -> https://github.com/skydoves/whatif

9. Koin (Insert-koin)

If you ever use Dagger2 in an android application then definitely love this new library. A light-weight dependency injection written purely in kotlin. According to its creator koin is:

Koin is a DSL, a light container and a pragmatic API, no proxy, no code generation, no reflection, and no annotations to describe.

Its documentation is really good with examples and the also wiki. I personally really like the library. There are more than 4400 who gave a star to this library and they can’t be wrong.

GitHub Link -> https://github.com/InsertKoinIO/koin

10. Arrow-Kt

With the rise of the kotlin language, functional programming becomes a really hot topic in it. Since kotlin is not a purely functional programming language and every developer struggles with avoiding shared data state, building an application by composing pure functions, and mutable data.

Now the good news is any developer can use Arrow-kt (functional programming companion to kotlin standard library) and gain many nice features.

GitHub Link -> https://github.com/arrow-kt/arrow

Wiki Link -> https://arrow-kt.io/docs/

That’s it. I hope you enjoyed my Kotlin Android libraries list. If you know any other great library released in 2019 please let me know in the comments section. I would happily include them in my list.

If you like this article please don’t forget to hit the ♥️ button below. Also, in case if you wanna get notified when I publish new articles, please subscribe to the website at the home page.

Thank you for being here and keep reading…