Edited at

Android Wear Watch Faceで画面の形状を知る方法

More than 3 years have passed since last update.

これは、Detect the Shape of the Screenの翻訳です。実行時にAndroid Wear端末の画面の形状が丸形なのか四角形なのかを知るための方法を探していたときに下記の内容を見つけたので、翻訳してみました。


画面の形状の取得

いくつかのAndroid Wearデバイスは四角形の画面を持っていますが、他にも丸い画面を持っているデバイスもあります。丸い画面を持つデバイスは、画面の下部にinset(または”chin”)を含むことが可能です。あなたのWatch Faceは、デザインガイドラインで説明された通り、画面の特定の形状に適合するべきであり、そして活用すべきです。

Android Wearは、あなたのWatch Faceに対して実行時に画面の形状を決定させます。画面が四角形なのか丸い形なのかを決定するために、以下のようにして、CanvasWatchFaceService.Engineクラス内でonApplyWindowInsets()メソッドをオーバーライドしてください。

private class Engine extends CanvasWatchFaceService.Engine {

boolean mIsRound;
int mChinSize;

@Override
public void onApplyWindowInsets(WindowInsets insets) {
super.onApplyWindowInsets(insets);
mIsRound = insets.isRound();
mChinSize = insets.getSystemWindowInsetBottom();
}
...
}

Watch Faceを描画する際のデザイン適用のために、mIsRoundおよびmChinSizeメンバー変数の値をチェックしてください。