Top Banner
Android Wear Créez votre propre Watchface Florent Champigny Xebia
22

Android wear - watch face

Jan 23, 2017

Download

Devices & Hardware

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Android wear - watch face

Android WearCréez votre propre Watchface

Florent ChampignyXebia

Page 2: Android wear - watch face

AndroidManifest

Déclaré en tant que Service de Wallpaper

permission : android.permission.BIND_WALLPAPER

intent-filter : android.service.wallpaper.WallpaperService

Page 3: Android wear - watch face

AndroidManifest

Utilise les permissions

com.google.android.permission.PROVIDE_BACKGROUND

android.permission.WAKE_LOCK

Page 4: Android wear - watch face

AndroidManifest

Déclare les meta-datas

android.service.wallpaper -> xml contenant <wallpaper/>

com.google.android.wearable.watchface.preview -> Drawable

com.google.android.wearable.watchface.preview_circular -> Drawable

Page 5: Android wear - watch face

CanvasWatchFaceService

public class MyWatchFaceService extends CanvasWatchFaceService {

@Override public Engine onCreateEngine() {

}

}

Page 6: Android wear - watch face

CanvasWatchFaceService.Engine

void onCreate(SurfaceHolder holder);

void onDestroy();

void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height);

void onTimeTick();

void onVisibilityChanged(boolean visible);

void onDraw(Canvas canvas, Rect bounds);

void onAmbientModeChanged(boolean inAmbientMode);

Page 7: Android wear - watch face

Ambiant mode

Ambiant

Page 8: Android wear - watch face

Canvas - Paint

ColorStrokeWidthAntiAliasStrokeCapStrokeJoinShadowLayerStyle

Page 9: Android wear - watch face

Canvas - Paint

ColorStrokeWidth

AntiAliasStrokeCapStrokeJoinShadowLayerStyle

(Épaisseur du pinceau)

Page 10: Android wear - watch face

Canvas - Paint

ColorStrokeWidth

AntiAliasStrokeCapStrokeJoinShadowLayerStyle

(Lissage de la texture)

Page 11: Android wear - watch face

Canvas - Paint

ColorStrokeWidthAntiAlias

StrokeCapStrokeJoinShadowLayerStyle

BUTTROUND

SQUARE

Page 12: Android wear - watch face

Canvas - Paint

ColorStrokeWidthAntiAliasStrokeCap

StrokeJoinShadowLayerStyle

MITER ROUND BEVEL

Page 13: Android wear - watch face

Canvas - Paint

ColorStrokeWidthAntiAliasStrokeCapStrokeJoinShadowLayer

Style

FILL STROKE STROKE & FILL

Page 14: Android wear - watch face

Canvas

canvas.drawBitmap( bitmap, left, top, paint);canvas.drawRect(left, top, right, bottom, paint);

…canvas.drawRoundRect(left, top, right, bottom, rx, ry, paint);canvas.drawLine(startX, startY, stopX, stopY, paint);canvas.drawOval(rect , paint);canvas.drawCircle(centerX, centerY, radius, paint);

Page 15: Android wear - watch face

Canvas

canvas.save();canvas.restore();

canvas.rotate(angle, centerX, centerY);canvas.translate(dx, dy);canvas.scale(sx, sy);

Page 16: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.5f ,0.5f, 1f, 1f, p);canvas.restore();

0 y 10

x

1

Page 17: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1

Page 18: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1

Page 19: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1

Page 20: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1

Page 21: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1

Page 22: Android wear - watch face

Canvas

canvas.drawBitmap(background,0,0,p);

canvas.save();canvas.rotate(90, 0.5f, 0.5f);canvas.drawRect(0.45f ,0.5f, 0.55f, 1f, p);canvas.restore();

0 y 10

x

1