Nougat – Quick Settings Tile

Nougat has now been released in to the wild and there are a number of new features which developers should be considering. In this loosely-related series of articles we’re going to be looking at various aspects of these new features to see how we can best make use of them. In this first article we’re going to look at the ramifications that changes to doze mode have for apps running on Nougat.
Continue reading

Nougat – GCM Network Manager

Nougat has now been released in to the wild and there are a number of new features which developers should be considering. In this loosely-related series of articles we’re going to be looking at various aspects of these new features to see how we can best make use of them. In this first article we’re going to look at the ramifications that changes to doze mode have for apps running on Nougat.
Continue reading

VectorDrawable Fill Windings

Or The Curious Case of the Disappearing Hole

Recently I encountered a problem with some VectorDrawable which caused much head scratching but there turned out to have a logical explanation and really quite straightforward fix. However my initial bafflement before realising the cause of the problem makes me think that others may encounter similar issues, hence writing this post.
Continue reading

Isometric AnimatedVectorDrawable – Part 4

Amazing things are possible with AnimatedVectorDrawable and regular readers of Styling Android will know that I’m a huge fan of them. Earlier this year I worked on a project for a UK TV broadcaster and produced an AnimatedVectorDrawable of the isometric company logo which went in to the app as an Easter Egg. Sadly I was unable to obtain permission to use the logo in question, but in this series of articles we’ll look at the entire process that I went through in order to create this animated logo.
Continue reading

Isometric AnimatedVectorDrawable – Part 3

Amazing things are possible with AnimatedVectorDrawable and regular readers of Styling Android will know that I’m a huge fan of them. Earlier this year I worked on a project for a UK TV broadcaster and produced an AnimatedVectorDrawable of the isometric company logo which went in to the app as an Easter Egg. Sadly I was unable to obtain permission to use the logo in question, but in this series of articles we’ll look at the entire process that I went through in order to create this animated logo.
Continue reading

Isometric AnimatedVectorDrawable – Part 2

Amazing things are possible with AnimatedVectorDrawable and regular readers of Styling Android will know that I’m a huge fan of them. Earlier this year I worked on a project for a UK TV broadcaster and produced an AnimatedVectorDrawable of the isometric company logo which went in to the app as an Easter Egg. Sadly I was unable to obtain permission to use the logo in question, but in this series of articles we’ll look at the entire process that I went through in order to create this animated logo.
Continue reading

Isometric AnimatedVectorDrawable – Part 1

Amazing things are possible with AnimatedVectorDrawable and regular readers of Styling Android will know that I’m a huge fan of them. Earlier this year I worked on a project for a UK TV broadcaster and produced an AnimatedVectorDrawable of the isometric company logo which went in to the app as an Easter Egg. Sadly I was unable to obtain permission to use the logo in question, but in this series of articles we’ll look at the entire process that I went through in order to create this animated logo.
Continue reading

StateListAnimator

One of the fundamental principles of Material Design is “motion provides meaning” and one important area where this applies is giving visual feedback to the user when they interact with our app. The standard method of doing this has always been using StateListDrawable to tie the visual appearance of a control to its state (i.e. enabled, disabled, pressed, etc.) and this has been available to use since API 1. While useful, this does not meet the “motion provides meaning” principle because the control appearance jumps between fixed appearances. StateListAnimator was introduced in API 21 along with Material Design and is a really simple way to smoothly transition between visual states. In this series we’ll take a look at how to use StateListAnimator to its full potential.
Continue reading

AnimatedVectorDrawable Bundles

Those that know me and regular readers of Styling Android will be already know that I have a particular passion for moving stuff around, and animating all the things! Quite predictably I’m a big fan of AnimatedVectorDrawable and there was a small addition to this most useful of components that was announced an Google IO 2016 but bypassed many of us, myself included. That is until Nick Butcher posted about it. The feature itself is fairly minor, but helps to keep our code self-contained and therefore easier to maintain – it is a different way of packaging AnimatedVectorDrawable at source level. In this article we’ll take a look at AnimatedVectorDrawable Bundles.
Continue reading