Change-Id: I479b0059678d31fb993f6ddc68f5a7ef5ee26ecc
Most of this code is adapted from my code.google.com/p/android-ui-utils project. Change-Id: If6763bc7a490e53bd31d5a713158577fa74cfd7b