VectorDrawables – Part 3

Previously in this series we’ve looked at how to implement a VectorDrawable using SVG path data and then apply some simple animations to individual component path elements. In this article we’ll take the animations a step further and look at how we can actually animate the contents of the path elements.
Continue reading

VectorDrawables – Part 2

In the previous article we looked at how to convert an existing SVG image in to a VectorDrawable which enables us to replace lots of large bitmap Drawables which can be mutch smaller and are much easier to maintain. However that’s not where the benefit of VectorDrawables end – we can also animate then and in this article we’ll look at doing precisely that by making the Android logo shrug!
Continue reading

VectorDrawables – Part 1

One of the really exciting new features in Lollipop is the inclusion of VectorDrawable and some associated classes which provide some extremely powerful new options for adding complex vector graphics as paths (which will scale across form-factors, screen sizes, and densities much better than bitmaps), and provide some equally powerful tools to animate them. In this series we’ll take a look at them and look at some of the advantages they give us, and looks at how we can get some really impressive results from relatively small amounts of code.
Continue reading

Gradle Revisited

Back in May 2013 Google announced at IO that they were working on a completely new IDE based upon IntelliJ IDEA which would be based upon the Gradle build system. At the end of June in the same year I began a series of posts which ended up as a series of 9 posts (the longest in the history of Styling Android) covering various aspects of the Gradle build system for Android. Looking back at the code it used Gradle 1.6 and V 0.5.x of the Android Gradle plugin. Now that Android Studio is fully released along with V1.x of the Android Gradle plugin, we’ll revisit this project, take a look at what has changed, and bring it up-to-date so that it works with the latest build tools.
Continue reading

Material – Part 8

Previously in this series we’ve looked at a number of different things that we can do to begin applying some principles of material design to our apps. In this concluding article in this series we’ll turn our attention to Activity transitions which are an important part of material design as they are designed to provide a smooth visual transition between different parts of the app which (if we do it right!) will provide the user with clear visual cues as to how they navigate through the app in response to their interactions.
Continue reading

Material – Part 7

In the previous article we began looking at how RecyclerView makes life an awful lot easier when dragging list items to alter their position. We looked at how we can generate a bitmap of the view that we want to drag, and promote it to an overlay layer so that we can move it around easily. In this article we’ll look at dynamically moving the other items in the list automatically as we drag.
Continue reading

Material – Part 6

Previously in this series we have applied basic Material design to a simple RSS reader app, and most recently we converted our ListView to the new RecyclerView. However, at the conclusion of the previous article, we had completed this migration but the net result in terms of UI was zero – the behaviour was exactly the same. This begs the question: “So why bother?” In this article we’ll look at dragging items in the list to change their order (which is not impossible, but can be pretty tricky using ListView), and see how much easier it is using RecyclerView.
Continue reading

Material – Part 4

Previously in this series we’ve looked at applying some aspects of Material design to our simple RSS app. In this article we’re going to look at replacing our ListView implementation with RecyclerView. While this won’t have any effect of the user, it will be an enabler which will allow us to apply some more material goodness which would be difficult to achieve with ListView.
Continue reading