I’ve recently been in the market for a new laptop for myself. My priorities were:
This post has been updated since it was first published, to new include updated stats for Jetpack Compose 1.0.0–rc01. If you would like to see the original version of this post, see here.
In 2020, I began the task of slowly migrating the UI in Tivi to be written in…
This post is going to build upon that to see how we can adapt our apps to support dark themes.
In the previous blog post, we covered all of the changes to the APIs related to going edge-to-edge:
New in Android 11 is the ability for apps to create seamless transitions between the on screen keyboard being opened and closed, and it’s all powered by lots of improvements to the
WindowInsets APIs in Android 11.
This blog post is the second of two which explores how coroutines enables you to write complex asynchronous UI operations in a much simpler way. The first post goes through the theory, while this post demonstrates how they fix a problem.
If you want to recap the first post, you…
Kotlin Coroutines allow us to model asynchronous problems like synchronous code. That’s great, but most usage seems to concentrate on I/O tasks and concurrent operations. Coroutines are great at modelling problems which work across threads, but can also model asynchronous problems on the same thread.
There’s one place which I…
This is the third post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below:
This is the fourth post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below:
This is the second post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below:
In part 1 of this series, we explored how you can make your app go ‘edge-to-edge’. Unfortunately this can result in some of your views…