Skip to content

Carbon vs Design Support Library

ZieIony edited this page Jun 15, 2015 · 1 revision

Since end of May there’s a new compatibility library available for all interested in using Material Design on older Android platforms. It can be found on the official Android Developers blog. Let’s see what’s new and compare the new support lib with Carbon.

Navigation View

Basically a content view for drawer menu. Can inflate menu items as drawer menu rows. With NavigationView it’s possible to create a menu with header in a couple of minutes. There’s a known issue with item selection, when the selected item is not in the first section of menu.

Carbon doesn’t offer any class for creating drawer menus.

Floating labels for editing text

A layout which adds EditText’s hint as a label floating above the view. It’s a layout, so you have to get the underlying EditText from code.

device-2015-06-08-133552

Carbon’s counterpart supports more additional features including character counters, error messages and validation patterns.

Floating Action Button

As Chet Haase said, it’s just a circle with a shadow. The implementation is very simple and doesn’t give anything special for free. There are known issues with the default style resulting in missing shadow, rectangular shape and others.

device-2015-06-08-133042

Carbon’s FAB implementation supports SVGs, ripples, dynamic shadows and tinting on all Android platforms back to Froyo.

Snackbar

A Toast replacement with a very similiar API. Shows a simple view with message and an optional action button. Snackbar can be dismissed with swipe gesture and can move widgets when used with CoordinatorLayout.

In addition to these, Carbon’s Snackbar offers tap-outside-to-dismiss, custom durations and a dismiss listener. I’m also working on moving widgets without the need to use any special layout.

Tabs

Material Tabs were present for a long time as an unofficial component used in on of Google’s apps. Now it’s in the Support Library and works as expected.

pagertabstrip

Besides Tabs layout, Carbon adds TabBuilder interface for easy custom tab creation.

CoordinatorLayout and Behavior

This layout manages scrolling-related things in the app. It’s possible to collapse a toolbar, hide a FAB and add a parallax effect to a header. The nicest thing about CoordinatorView are view anchors. Using anchor it’s possible to place a view (for example a FAB) on a seam.

Carbon has most of these features spread over other components. RecyclerView and ScrollView have support for tinted headers with parallax. Hiding a FAB on scroll is possible using a combination of a scroll listener and a visibility animation. View anchors are in development and will be present in all layouts in the upcomming release.

Summary

Seems like Design Support Library is nice but for now it’s not the production quality library. It has many little issues, still lacks some components and doesn’t provide the key material features like shadows, ripples and view animations. There’s a good number of other, third party libraries – more stable and complete than the official support library.

See the article on WordPress: https://androidreclib.wordpress.com/2015/06/08/design-support-library-vs-carbon/

All non-mine images were taken from official Android Developers blog. You can find the original article here.

There’s an excelent article about issues present in the Design Support Library available on medium.com.

Clone this wiki locally