Jump to content
Fi8sVrs

30 new Android Libraries and Projects released in Summer 2017 which should catch your attention

Recommended Posts

  • Active Members

1*9hIUb4TpxYkHehxMb7KpEw.jpeg

 

The summer is over and this is a great time to present my subjective list of 30 Android libraries and projects released in the last 3 months. Some of them can be used in production, some of them definitely not, but playing with all of them will be pure fun. They are definitely worthy to check. Enjoy!

 

1. MaterialStepperView
This is a library which implements Steppers from Material Design Components.

1*bjtY4wWPFU49tRpoec2HHw.png

 

Currently, there is only Vertical Stepper View but more styles will come in the future. You can check, how it looks below:

1*JiufJdLtcaftU1xTPkQczg.gif

 

You can customise normal/active point colour, done icon, as well as enable animation and set its duration. To check it, please visit Set item values and styles on its Github. 
This library supports API 17+ and has a quite comprehensive wiki available here.

 

2. MultiSnapRecyclerView

This is an Android Library for multiple snapping of RecyclerView. MultiSnapRecyclerView easily provides a snapping feature to your RecyclerView.

1*B-x5gvQsg-PVazc4kaPvXQ.gif

Currently it offers:

  • gravitated snapping to start, end and center,
  • snap count to specify a number of items to scroll over,
  • support for horizontal and vertical scrolling,
  • listener to be called when snapped.

Below is the example, how to use the library.

https://github.com/TakuSemba/MultiSnapRecyclerView

 

3. Garland View for Android

This is a library that we can consider as a skeleton for creating layouts as presented below:

1*TaFbvMple7_wD4PyNKiGZg.gif

Quote

GarlandView consists of classes for inner items that are scrolled vertically and outer items that are scrolled horizontally, and each of which contains one inner item.

Rest of the important information you can find in README. There is also an example app. The library supports API 19 and above.

https://github.com/Ramotion/garland-view-android

 

4. VegaLayoutManager

This is a customised LayoutManager — fade and shrink the head itemView when scrolling. It was inspired by this Dribble project.

1*FCNvg5C5teR3UvUmiscWEw.gif

https://github.com/xmuSistone/VegaLayoutManager/blob/master/VegaLayoutManager/library/src/main/java/com/stone/vega/library/VegaLayoutManager.java

 

5. ExpandableLayout

The name of this library is self-explanatory. It is a expandable layout, based on LinearLayout.

1*xlkEisyaCLACSSnN_MXBjQ.png

README contains all information you need to get started. 
It is well-documented. In addition, there is an example app to quickly jump to the code.

https://github.com/iammert/ExpandableLayout

 

6. SwipeBackLayout

Quote

SwipeBackLayout is a library that can finish an Activity by using gestures.
You can set the slide direction, such as FROM_LEFT, FROM_TOP, FROM_RIGHT and FROM_BOTTOM.
You can also set whether it can only slide from the edge.

1*G_WzLxtUZcgrmwi1AlimPQ.gif

1*j1aa1cmxwiyU5sf24inHAQ.gif

SwipeBackLayout must contain only one direct child, such as:

  • LinearLayout, RelativeLayout, FrameLayout, TableLayout etc.
  • ScrollView, HorizontalScrollView, NestedScrollView etc.
  • RecyclerView, a subClass of AbsListView(ListView etc.)
  • ViewPager, WebView etc.

The project has a comprehensive documentation, sample app and an APK.

https://github.com/gongwen/SwipeBackLayout

 

7. SmartCropper

Quote

This is a library for cropping image in a smart way that can identify the border and correct the cropped image. Applicable to ID cards, business cards, documents and other photos of the crop.

1*x7sl--C_dBVQOpd0Vh1NsQ.png

1*OH8g6acqrhYx_-koGwB0ww.gif

Features:

  • Crop image in a smart way that can identify the border,
  • support drag anchors, magnifying glass effect to enhance the positioning experience,
  • use the perspective transform to crop and correct the selection to restore the front image,
  • support rich UI settings, such as auxiliary lines, mask, anchor, magnifying glass and so on.

Currently, the library uses optimised points sorting algorithm. 
CropImageView has selection magnifying effect and it can use CropImageView XML settings.

https://github.com/pqpo/SmartCropper

 

8. Date Range Picker

1*ECYqRU_ScUiG_Zmgj7pDew.png

1*hisRWS6xuHzQIghj_crgnQ.png

A description of the project is well-written and easy to read.

https://github.com/savvisingh/DateRangePicker

 

9. StoriesProgressView

Everybody knows Stories which Facebook and Instagram presented on their apps. Here is a library which introduces StoriesProgressView which extends LinearLayout and allows you to add View like below:

1*fj5dEl8-MnuKCx7R7qzL-Q.gif

The project contains a short but comprehensive README along with sample app.

https://github.com/shts/StoriesProgressView

 

10. CosmoCalendar

This library is a custom calendar which offers many features and UI modifications like:

  • changing calendar orientation,
  • setting custom text colours,
  • setting selection types and colours,
  • defining navigation buttons etc.,
  • many more.

1*jYTxyU5rWqhlz0hQH4gtrA.png

1*0X_vg52crmVGvSPdSiF1lw.png

https://github.com/AppliKeySolutions/CosmoCalendar

 

11. Reflow Text Animator

I hope everybody heard about Plaid app. This library developed by Shazam Engineering team, is a

Quote

port of Plaid’s ReflowText that allows easily transitioning between sibling TextViews — no matter their size or style.

The library is really easy to use, plug and play!

1*eoON3oEDIl1fZhrlv0zclg.gif

https://github.com/shazam/reflow-animator

 

12. AdaptiveIconPlayground

This is not a library, but a standalone Android app developed by Nick Butcher for experimenting with adaptive icons. According to the README:

Quote

This app finds all installed apps supporting an adaptive icon and displays them in a grid. It then allows you to toggle different mask shapes (approximating how the icon might display on different devices) and explore visual effects may be applied. Currently offered:
Layer translation parallax based on scroll
Layer scale parallax based on touch

1*GhKpsdfQ-I84WaWyFtTYkA.gif

 

https://github.com/nickbutcher/AdaptiveIconPlayground

 

13. Tivi

1*N0HrUsY7PWNhpHvxEZ_88w.png

Tivi is an application which tracks TV shows and it is connected to Track.tv. It is developed by Chris Banes. The work is still in progress but what is important, it uses the cutting-edge components, libraries and tools which includes: Kotlin, RxJava 2, usage of all of the Architecture Components (Room, LiveData and Lifecycle-components) and usage of dagger-android for dependency injection.

https://github.com/chrisbanes/tivi

 

14. RxIdler

This is an IdlingResource for Espresso which wraps an RxJava Scheduler developed by Square Engineering. It supports RxJava 1 and RxJava 2 as well. Happy Instrumentation testing!

https://github.com/square/RxIdler

 

15. MRichEditor

This is a rich text editor sample (based on summernote). 
It supports many features, including: Bold, Italic, Underline, Strike-through, Headings (1, 2, 3, 4, 5, 6), Paragraph, Quote, (Un)Ordered List, Code, Horizontal Rule, Link, Image, Justify (Center, Fill, Left, Right), Subscript, Superscript, Font Name and Size, Indent, Outdent, Undo / Redo.

1*tMe4oaCwVYaY3kSjzuKhEQ.gif

1*PW4pHasCqLqlq_BhecGuXg.gif

In this case you need to base on the sample app, as there is almost no documentation.

https://github.com/Even201314/MRichEditor

 

16. Android Clean Architecture Boilerplate

This is boilerplate app that shows a clean architecture approach to Android apps developed by Buffer team and Joe Birch.

1*sPoW9RyB4DSPFSJkDmNp1g.png

Reasons for creating this boilerplate:

Quote
To experiment with modularisation.
To share some approaches to clean architecture.
To use as a starting point in future projects where clean architecture feels appropriate.

The project is written 100% in Kotlin with both UI and Unit tests. 
It is really well-documented and great for education purposes! 100% recommendation.

https://github.com/bufferapp/android-clean-architecture-boilerplate

 

17. RxJava2Debug

If you use RxJava, you know that sometimes it is difficult to read exceptions and find an issue in your Rx stream. And this is the reason why this library was created. You can read more about rational in README.

The library offers:

  • stack trace generation,
  • stack trace filtering.

https://github.com/akaita/RxJava2Debug

 

18. Resizer

Quote

Resizer is a lightweight and easy-to-use Android library for image scaling. It allows you to resize an image file to a smaller or bigger one while keeping the aspect ratio.

The library is inspired by Compressor library.

The library specification:

Minimum SDK: API 21
 
Default settings:
targetLength: 1080
quality: 80
outputFormat: JPEG
outputDirPath: the external files directory of your app
 
Supported input formats:
BMP
GIF
JPEG
PNG
WEBP
 
Supported output formats:
JPEG
PNG
WEBP
 
Supported quality range: 0~100
The higher value, the better image quality but larger file size
PNG, which is a lossless format, will ignore the quality setting

https://github.com/hkk595/Resizer

 

19. FaceDetector

This library allows you to detect faces in real time on a camera preview. It greatly works with Fotoapparat library, but is supports also other camera libraries and sources. 
The usage is simple and the project is quite well documented.

1*d4VarbyEF9J8q8sZ4fVA_w.gif

https://github.com/Fotoapparat/FaceDetector

 

20. RxGps
This is another library from Florent Champigny. It easily finds a current location for us. It is RxJava2 compatible. It also automatically asks for GPS runtime permissions and checks if play services are available for you.

https://github.com/florent37/RxGps

 

21. MapMe

MapMe is an Android library for working with Maps. MapMe brings the adapter pattern to Maps, simplifying the management of markers and annotations.

1*4nbsPR2SjBYMJYTCoVDm0Q.png

MapMe works with Google Maps and Mapbox. README is comprehensive and the library is written in Kotlin.

https://github.com/TradeMe/MapMe

 

22. RevelyGradient

This is a library for an easy gradient management.

1*l8g92z15w5dIZOq8Z9FfKw.gif

You can use it in Java or in Kotlin. Documentation is short but enough to start with ease.

https://github.com/revely-inc/co.revely.gradient

 

23. LiteUtilities

This is a library written in Kotlin, which helps to eliminate boilerplate from your code. Currently it offers:

  • RecyclerUtils — Remove the need to make an adapter everytime, set up recycler adapter in as little as 4 lines.
  • ScrollUtils — Easily hide/show FloationActionButton on scroll when using RecyclerView or NestedScrollView.
  • ToastUtils — Creating toasts are just a function away.
  • SPUtils — Simple DSL for Shared Preferences.
  • ValidatorUtils — Fast and simple text validation.
  • LogUtils — Simple and easy android logging.

https://github.com/gurleensethi/LiteUtilities

 

24. KOIN

Quote

KOIN is a dependency injection framework that uses Kotlin and its functional power to get things done!

1*WnM7ySFug2PSHP5E9tR2Qg.png

According to the author, there is:

  • No proxy/CGLib,
  • No code generation,
  • No introspection

Its documentation is really good, with examples and wiki. There are also contact information (even with Slack).

https://github.com/Ekito/koin

 

25. koptional

Quote

Minimalistic Optional type for Kotlin that tries to fit its null-safe type system as smooth as possible.

Rationale according to authors:

Quote
We don’t think that Kotlin itself needs Optional because it has strong null-safe type system that effectively eliminates need in such a wrapper. However there are APIs and libraries like RxJava 2 which don't accept nullvalues.
We also think that in many cases you can use sealed classes to express absent values, however in simple cases like passing String? through Rx stream Optional is a more convenient solution.

For more go to their Github.

https://github.com/gojuno/koptional

 

26. Parallax

This is an easy parallax View for Android simulating Apple TV App Icons.

1*BIV4gW3Ondp70_VE-Rz_iw.gif

README is really good and worthy to check.

https://github.com/imablanco/Parallax

 

27. droid-vizu

Quote

Droid-vizu aims to provide customised visualisation effects by easily swapping Renderer to get cool effects

1*J2TGNekH3ljkOZunfCP4KQ.gif

 

https://github.com/wotomas/droid-vizu

 

28. Drone

This is not the Android library but a library manager delivered by César Ferreira. It was written due to jealousy of the node.js community for their fast and reliable dependency managers. So instead of googling a library, checking it, reading docs etc., you just do:

drone add creator/library module

For instance:

drone add jakewharton/butterknife

1*dgBEu-MfcfFTp7qokHqfhA.gif

 

The documentation is really good and this is really worthy to check.

https://github.com/cesarferreira/drone

 

29. From-design-to-Android-part2

This is a project covering creating neat UI on Android. This time, Saúl Molinero covers:

It is a truly great lecture!

1*WfNBTsNo_9ipck02sUoU_w.gif

https://github.com/saulmm/From-design-to-Android-part2

 

30. Reagent

Reagent is a Jake Wharton place for experiments for future reactive libraries. Should you use it? No.

https://github.com/JakeWharton/Reagent

 

Source: https://medium.com/@mmbialas/30-new-android-libraries-and-projects-released-in-summer-2017-which-should-catch-your-attention-d3702bd9bdc6

 

  • Upvote 2
Link to comment
Share on other sites

18 hours ago, tjt said:

Oare se mai merita sa te chinui sa faci UI(layouts, transitions, animations) in java/kotlin pt Android ?

 

Multe din chestiile de UI prezentate pot fi facute mai repede si mai usor folosind CSS, Javascript.

 

 

Nu prea poti.... daca ai un UI responsive design.... ai ce te distra sa faci toate astea sa mearga la fel. Foarte problematic e pe IOS... sa vezi cum nu se pupa CSS-urile....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...