summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorLuan Nguyen <luann@google.com>2015-07-01 17:13:03 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-07-01 17:13:03 +0000
commit0794acc557f52960e52b369c6e4e5bf0bc575d02 (patch)
tree38f3766bbc1a3184ddee27c0d2f11b71c9ca8729 /docs
parent4b2d706155deb4f9940feaeb6f6d9a3abcdf208a (diff)
parenta4ac253bc36bbced5acad8a7ddf1838b11f6e44c (diff)
downloadframeworks_base-0794acc557f52960e52b369c6e4e5bf0bc575d02.zip
frameworks_base-0794acc557f52960e52b369c6e4e5bf0bc575d02.tar.gz
frameworks_base-0794acc557f52960e52b369c6e4e5bf0bc575d02.tar.bz2
am a4ac253b: am ed053477: Merge "docs: Move scale Bitmap code to onSurfaceChanged" into mnc-preview-docs
* commit 'a4ac253bc36bbced5acad8a7ddf1838b11f6e44c': docs: Move scale Bitmap code to onSurfaceChanged
Diffstat (limited to 'docs')
-rw-r--r--docs/html/training/wearables/watch-faces/drawing.jd27
1 files changed, 17 insertions, 10 deletions
diff --git a/docs/html/training/wearables/watch-faces/drawing.jd b/docs/html/training/wearables/watch-faces/drawing.jd
index 8b6de76..30a7a6f 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:</p>
<ol>
-<li>If this is the first invocation of the
-<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)"><code>onDraw()</code></a>
-method, scale your background to fit.</li>
+<li>Override the
+<a href="{@docRoot}reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onSurfaceChanged(android.view.SurfaceHolder, int, int, int)"><code>onSurfaceChanged()</code></a>
+method to scale your background to fit the device any time the view changes.
+<pre>
+&#64;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);
+}
+</pre>
+</li>
<li>Check whether the device is in ambient mode or interactive mode.</li>
<li>Perform any required graphic computations.</li>
<li>Draw your background bitmap on the canvas.</li>
@@ -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