diff --git a/docs/html/training/wearables/watch-faces/drawing.jd b/docs/html/training/wearables/watch-faces/drawing.jd index 8b6de761e1448..30a7a6f7b62eb 100644 --- a/docs/html/training/wearables/watch-faces/drawing.jd +++ b/docs/html/training/wearables/watch-faces/drawing.jd @@ -457,9 +457,23 @@ watch face. The bounds take into account any inset areas, such as the "chin" on round devices. You can use this canvas to draw your watch face directly as follows:

    -
  1. If this is the first invocation of the -onDraw() -method, scale your background to fit.
  2. +
  3. Override the +onSurfaceChanged() +method to scale your background to fit the device any time the view changes. +
    +@Override
    +public void onSurfaceChanged(
    +        SurfaceHolder holder, int format, int width, int height) {
    +    if (mBackgroundScaledBitmap == null
    +            || mBackgroundScaledBitmap.getWidth() != width
    +            || mBackgroundScaledBitmap.getHeight() != height) {
    +        mBackgroundScaledBitmap = Bitmap.createScaledBitmap(mBackgroundBitmap,
    +                width, height, true /* filter */);
    +    }
    +    super.onSurfaceChanged(holder, format, width, height);
    +}
    +
    +
  4. Check whether the device is in ambient mode or interactive mode.
  5. Perform any required graphic computations.
  6. Draw your background bitmap on the canvas.
  7. @@ -482,13 +496,6 @@ public void onDraw(Canvas canvas, Rect bounds) { int width = bounds.width(); int height = bounds.height(); - // Draw the background, scaled to fit. - if (mBackgroundScaledBitmap == null - || mBackgroundScaledBitmap.getWidth() != width - || mBackgroundScaledBitmap.getHeight() != height) { - mBackgroundScaledBitmap = Bitmap.createScaledBitmap(mBackgroundBitmap, - width, height, true); - } canvas.drawBitmap(mBackgroundScaledBitmap, 0, 0, null); // Find the center. Ignore the window insets so that, on round watches