Adsense

2015年11月1日日曜日

Lesson-11 ウォッチフェイスのスタイルを調整する

概要

Android Wearでは、カード、インジゲーター、ホットワードなどのシステムUIが表示されます。ウォッチフェイスでは、これらのシステムUIの表示について制御することができます。時計のデザインにあわせて、それらの表示位置や表示有無を調整しましょう。
ここでは主要なスタイルのみ取り上げます。

準備

「Lesson-01 雛形プロジェクトを作成する」でデジタル/アナログ時計の雛形を作成します。

ウォッチフェイススタイルを調整する

雛形のプロジェクトを作成すると、onCreate()内でsetWatchFaceStyle()を呼び出しているコードが作成されます。WatchFaceStyle.Builderで呼び出しているメソッドの引数を変更し、スタイルを調整します。
@Override
public void onCreate(SurfaceHolder holder) {
    super.onCreate(holder);

    setWatchFaceStyle(new WatchFaceStyle.Builder(MyWatchFace2.this)
            .setCardPeekMode(WatchFaceStyle.PEEK_MODE_SHORT)
            .setBackgroundVisibility(WatchFaceStyle.BACKGROUND_VISIBILITY_INTERRUPTIVE)
            .setShowSystemUiTime(false)
            .build());

setShowSystemUiTime()

システムUIのデジタル時計を表示するかどうかを指定します。自分で時計を描画する場合はfalseを指定します。trueを指定するとシステムUIのデジタル時計が表示されます。時計部分はカスタマイズできないですが、背景部分だけ変更したい場合などで使用します。
false
true

setStatusBarGravity()

インジケーター(ステータスバー)の表示位置を指定します。指定しない場合は左上となります。指定する場合は、Gravityを使用して左上、上、右上、左、中央、右、左下、下、右下の9カ所を指定することができます。
未指定(左上) 
Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM

setHotwordIndicatorGravity()

ホットワード("Ok Google")の表示位置を指定します。指定しない場合は左上となります。指定する場合は、Gravityを使用して左上、上、右上、左、中央、右、左下、下、右下の9カ所を指定することができます。
未指定(左上) 
Gravity.RIGHT | Gravity.TOP

setAcceptsTapEvents()

ウォッチフェイスでタップイベントを受け付けるかどうかを指定します。デフォルトでは、タップイベントを受け付けません。trueを指定するとウォッチフェイスでタップイベントを受け付けることができます。インタラクティブウィッチフェイスを作成する場合に指定します。