The Trouble With ClickableSpan

Regular readers of Styling Android will know that I like Spans. A lot. They are an incredibly versatile way of formatting text. However, there is one type of Span which can be problematic: ClickableSpan. The problem isn’t so much with ClickableSpan itself, which does exactly what it is designed to do, but the need to…

Architecture Components: Testing & Other Stories

Architecture Components were announced at Google I/O 2017 and provide some frameworks to help developers create more maintainable and more robust apps. The architecture components don’t specifically do anything which will prevent apps from crashing or otherwise misbehaving, but they offer some frameworks which encourages decoupled components within the app which should lead to better…

Architecture Components: ViewModel

Architecture Components were announced at Google I/O 2017 and provide some frameworks to help developers create more maintainable and more robust apps. The architecture components don’t specifically do anything which will prevent apps from crashing or otherwise misbehaving, but they offer some frameworks which encourages decoupled components within the app which should lead to better…

Architecture Components: LiveData

Architecture Components were announced at Google I/O 2017 and provide some frameworks to help developers create more maintainable and more robust apps. The architecture components don’t specifically do anything which will prevent apps from crashing or otherwise misbehaving, but they offer some frameworks which encourages decoupled components within the ap. This should lead to better…

Architecture Components: Lifecycle

Architecture Components were announced at Google I/O 2017 and provide some frameworks to help developers create more maintainable and more robust apps. The architecture components don’t specifically do anything which will prevent apps from crashing or otherwise misbehaving, but they offer some frameworks which encourages decoupled components within the app which should lead to better…

LocationServices

Many apps offer functionality based upon the location of the device running the app. The tools for obtaining device location have been around since API 1, but they have evolved a little over the years – one big change was moving them in to Play Services. However, this change came with a cost: Establishing a…

AnimatedStateListDrawable

Often we’ll receive designs which require us to customise the look of some of the standard Android controls. One problem with this is that when we override the default look of these controls we lose some of the nice state transitions that we get in newer versions of Android. In this article we’ll take a…

Downloadable Fonts

Fonts have received a lot of love from Google in Android O. We’ve already looked at the new custom fonts support which is now backwardly compatible thanks to its inclusion in support library compat v4. However there is another facet to the new fonts support which is really useful: Downloadable Fonts. In this article we’ll…

Adaptive Icons and more

One of the new features in the Android O developer preview is Adaptive Icons. While it will be a long time before may of us will be in a position to specify minSdkVersion 26, this is actually one of those feature that we can implement now and it will benefit users as and when they…

Fonts (revisited)

In a previous series we took an early look at the new font support coming in Android O. At Google IO 2017 the new font support was formally announced, and in this article we’ll take a look at what has changed since the original series.