getBounds(): the story of Drawables and their View masters

Breakout - Main Floor 10:10am

At Devoxx 2013, Cyril Mottier gave a great talk on Mastering Android Drawables. Hoping to build on that talk and go a bit more indepth into how to actually implement a custom drawable. What is a Drawable? How do you make one? How do they interact with their Views. Lisa’s got a few stories to share about writing a custom Drawable type from scratch. Do you know the difference between getMinimumHeight vs getIntrinsicHeight, and more importantly why making custom Drawables is painful. We’ll talk about the native Drawable types, how custom Drawables can be included in XML (hint, they can’t), the nuts and bolts of how Drawable instances share their constant state (So why bitmap images for Drawables get shared). Finally, we’ll go into the relationship between views and drawables -- how do drawables’ size get set, and what’s the difference between using a ColorDrawable versus a BitmapDrawable with respect to the View that is using the Drawable as a view backing.

Jamie Huson, Etsy

Jamie Huson is the Android instructor for Etsy's Mobile Training Program. He teaches the ropes of Android development to folks and helps make Etsy amazing on Android devices. He lives with his wife in Bellingham, Washington.

Lisa Neigut, Etsy

Lisa Neigut is an Android Developer at Etsy, the Brooklyn-based marketplace for handmade goods. Originally from Texas, she came to NYC as a part of the Hacker School batch of summer 2012. She's been building Android apps for the better part of 3 years. You can find her on Twitter as @niftynei, or her follow her infrequently updated blog at