Posts
Gesture Navigation: handling gesture conflicts (III)
↗
↖
This is the third post in our series on Gesture Navigation. In this third post we’re going to cover how to handle any gesture conflicts, between your app and the new system gestures in Android 10.
Gesture Navigation: handling visual overlaps (II)
↗
↖
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 being drawn behind the system bars, obscuring them from the user. This post explores how we can inset those views, moving them away from the system bars.
Gesture Navigation: going edge-to-edge (I)
↗
↖
With Android 10, a new system navigation mode has been added, allowing the user to navigate back, navigate to the home screen, and trigger the device assistant via gestures.
WindowInsets — Listeners to layouts
·1525 words·8 mins
If you’ve watched my ‘Becoming a Master Window Fitter’ talk, you’ll know that handling window insets can be complex.
Data Binding — Lessons Learnt
·1511 words·8 mins
The Data Binding Library (referred to as the ‘DB library’ for the rest of this post) offers a flexible and powerful way to bind data to your UIs, but to use an old cliché: ‘with great power comes great responsibility’. Just because you’re using data binding does not mean that you can avoid being a good UI citizen.
CI cache key over many files
·487 words·3 mins
Here’s a quick tip for those of you using CircleCI, GitHub Actions, or any other CI which supports caching.
RxJava to Kotlin coroutines
·1613 words·8 mins
OK, I know this is a bit of a clickbait-y title but it’s the best I could come up with. This post is a summary of how I refactored an app which uses RxJava pretty heavily, to one which uses Kotlin coroutines too. Specifically I’ll talk about switching out Single/Maybe/Completable sources to coroutines.
Windows Insets + Fragment Transitions
·897 words·5 mins
This post is the second in a small series I’m writing about fragment transitions. The first is available below, which sets up how to get fragment transitions working.
Fragment Transitions
·802 words·4 mins
This is the first post in a small post series where I explore how to get transitions working nicely with fragments. This post is all about getting them running.
Room + Date / Time
·1393 words·7 mins
If you’ve started using Room (and you should if you haven’t), there’s a high probability that you will need to store + retrieve some kind of date/time. Room does not provide any support for that outof the box, instead it provides the extensible TypeConverter annotation, which allows you to provide mappings from arbitrary objects to types Room understands, and vice-versa.