2016-10-20 5 views
0

Android Wearスクエアデバイスとペアにすると、通知が正しく表示されます。コードを簡単に保つためにデバイスに自動的に表示されます。ただし、Wear round watchの画面のデフォルトの中央にあり、一部の通知情報は実際にはラウンドスクリーン通知の隅に表示されません。Android Wearで正しく通知を表示する

BigTextStyle myStyle = new Notification.BigTextStyle(); 
.bigText(myText); 

Notification.Builder notificationBuilder = 
    new Notification.Builder(this) 
    .setStyle(myStyle) 
    // and so on 

それは、しかし、どこかで、次のいくつかのコードの行(およびそのクラスのインポート)を添加した場合であるかもしれない:一部のAndroid Wearデバイスは正方形の持っているので

Notification.WearableExtender myextend = new Notification.WearableExtender(); 
.WearableExtender() 

.setGravity(Gravity.TOP); 

// add other code 
.extend(myextend) 

答えて

1

、このdocumentationから基づいて、他のものは丸い画面を持っていますが、design guidelinesに記載されているように、時計の顔は画面の特定の形状に適応してそれを利用する必要があります。

Android Wearを使用すると、時計の顔が実行時に画面の形状を決定できます。次のように画面が正方形または円形であるか否かを検出するために、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(); 
} 
... 
} 

デバイスのラウンド画面と画面の下部にある(又は「顎」)インセットを含むことができます。ウォッチフェイスを描画するときにデザインを変更するには、mIsRoundmChinSizeメンバ変数の値を確認します。

:ここ

は役立つかもしれないいくつかの関連スレッドです

関連する問題