Android Views

WindowInsets, Android Views, Talks

Becoming a master window fitter 🔧

Talk from Droidcon London 2017. Window insets have long been a source of confusion to developers, and that’s because they are indeed very confusing! The system dispatches insets for many reasons, such as drawing behind navigation bars, full-screen immersive modes or handling round displays.
Chris Banes
WindowInsets, Android Views, Talks

Becoming a master window fitter 🔧

Talk from Droidcon NYC 2017. Window insets have long been a source of confusion to developers, and that’s because they are indeed very confusing! The system dispatches insets for many reasons, such as drawing behind navigation bars, full-screen immersive modes or handling round displays.
Chris Banes
Material Design, Android Views, Talks

Nested scrolling - living life on the edge

Talk from DevFest Tokyo. The design library introduced CoordinatorLayout, AppBarLayout and CollapsingToolbarLayout last year. This talk will go through how it all works, from CoordinatorLayout Behaviors, to nested scrolling, to all of the crazy things in between to make it work back to API 9.
Chris Banes
Android Themes, Android Views, Talks

Android Themes & Styles demystified

Talk from Droidcon Berlin 2016. Themes and styles are the bedrock of your apps styling, yet most developers look at them with fear. What does X attribute do? How do I style Y?
Chris Banes
Android Themes, Android Views, Talks

Android Themes & Styles demystified

Talk from Google I/O 2016. Themes and styles are the bedrock of styling your Android UI, but do you know how they work? This talk will dive deeper into everything you have ever wanted to know about how styles and themes work together, what attributes really are.
Chris Banes
Text, Android Views

Measuring Text

If you start manually drawing things to Android’s Canvas [https://developer.android.com/reference/android/graphics/Canvas.html], you will probably start to draw text as well. When doing so you need to know where to position the text when you draw, and to do that you will need to measure the text before drawing it, to compute the starting x/y values. -------------------------------------------------------------------------------- In an app recently I needed to draw some text centered both ver
Chris Banes
Android Views

Checkable Views

After a month of not posting anything on here due to being busy, I’ve finally found a bit of time to write a new Snippet post. This post is all about Checkable [https://developer.android.com/reference/android/widget/Checkable.html], and how to properly implement the interface so that your views display as you expect them to. What’s Checkable? Checkable is an interface which can be implemented when your View needs to change state based on a boolean switch. The framework contains a few views whi
Chris Banes
ListView, Android Views

ListView - Keeping Position

Last week Joaquim Verges [https://plus.google.com/107942105369460253496] asked me a question about ListView. I’ve finally got around to writing up this solution and post. The Problem To paraphrase Joaquim, the problem is: > I have a ListView populated from a CursorLoader. When I swap to a cursor with new items on top, I use setSelectionFromTop() [https://developer.android.com/reference/android/widget/ListView.html#setSelectionFromTop(int, int)] to keep the ListView at the same visible position
Chris Banes
Animations, Android Views

Snippet: Animated Action Bar Items

This snippet is taken from some of the code I’ve recently released in photup [http://www.senab.co.uk/2013/01/19/photup-is-now-open-source/], and shows you how to make an Action Bar item more noticeable, allowing you to lead the user onto the correct path. You can see what I mean here: So why did I add this in photup? Well, one of the problems that I had with the selection screen was that there were many many clickable items on it: * Each item in the Grid is clickable twice, one for selection
Chris Banes