For the advantage of AMOLED shows, which consume significantly less power when pixels aren’t lit, this generally means large regions of black, unlit pixels. Within our situation we keep ambient mode status inside a boolean, set the anti alias mode accordingly, after which call invalidate() to pressure a redraw from the display.
Finally we’ve onDraw() which needs to be a little more familiar – app developer accounts for drawing the timepiece face. We first draw the right background based on whether we’re in ambient mode. Next we see whether the unit bounds have altered – if that’s the case we have to recalculate our layout. Finally we draw the written text. A lot of the logic its this really is contained within TextLayout and InsetCalculator and we’ll check out these in the end. I’ve deliberately mimicked the naming and techniques of Android Designs here because basically that’s what we’re doing. Here we must draw straight to the Canvas and that’s precisely what Sights and Designs do for all of us. Nevertheless the needs listed here are to dynamically size the written text elements so we have to perform some stuff ourselves.
One factor worth mentioning is the fact that Something O’Clock is really a static watch face. The only real time that it changes is that if new text is chosen (more about that later within the series), so when we switch interior and exterior ambient mode. For many dynamic watch faces you’ll should also override onTimeTick() or perhaps set your personal timers which will allow you to update the display instantly.
It is essential to declare the WAKE_LOCK permission otherwise your watch face will crash soon after install. All watch faces require this permission because app developer have to periodically avoid the device from sleeping when upgrading time. We can provide preview images which is proven around the device itself as well as on the Put on application around the paired phone to supply a visual representation from the watch face. Also there’s a wallpaper meta-data implementation that is straightforward:
So that’s the primary skeleton from the watch face, but we haven’t yet checked out how we’ll really position and render the written text – which we’ll take a look at within the next article.
There’s no code being printed in addition to this article because we don’t yet have something working. Through the finish from the next article we’ll possess a fully working watch face (although one with limited functionality) and also the code is going to be printed then – I promise!.