ウォッチフェイスに関する問題を解決する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Wear OS by Google のカスタム ウォッチフェイスの作成は、通知やウェアラブル固有のアクティビティの作成とは大きく異なります。このレッスンでは、ウォッチフェイスを初めて実装する場合に遭遇する可能性のある問題を解決する方法について説明します。

画面の形状を検出する

Wear OS デバイスの画面には、正方形、長方形、円形があります。円形の画面を備えたデバイスには、画面下部にインセット(「あご」)を持つものもあります。ウォッチフェイスは画面の特定の形状に適応し、それを活用する必要があります。

ウォッチフェイスを描画するときにデザインを適応させるには、context.resources.configuration.isScreenRoundWatchState.chinHeight の値を確認します。

注: デフォルトでは、長方形デバイスのウォッチフェイスは正方形のエミュレーション モードで動作し、円形と正方形のデバイス向けに構築されたウォッチフェイスをサポートします。この動作をオーバーライドする方法については、長方形デバイスをサポートするをご覧ください。

相対単位を使用する

Wear OS デバイスは、そのメーカーも、搭載している画面のサイズと解像度もさまざまです。ウォッチフェイスは、絶対ピクセル数ではなく相対単位を使用することで、こうした違いに対応する必要があります。

ウォッチフェイスを描画するときは、Canvas.getWidth() メソッドと Canvas.getHeight() メソッドを使用してキャンバスのサイズを取得し、検出した画面サイズに対する比率を表す値を使用してグラフィック要素の位置を設定します。ピークカードに対応するためにウォッチフェイスの要素をサイズ変更する場合は、カードの上の残りの領域に対する比率を表す値を使用して、ウォッチフェイスを再描画します。

WatchFace サンプルでは、ウォッチフェイスを構成する際のおすすめの方法を紹介しています。