2

デモ用のアナログ ウォッチフェイスを使用して、システム インジケーターを下部に表示させてみましたsetStatusBarGravity(Gravity.BOTTOM)。この特定の重力が尊重されていないようです。

setWatchFaceStyle(new WatchFaceStyle.Builder(AnalogWatchFace.this)
        .setCardPeekMode(WatchFaceStyle.PEEK_MODE_SHORT)
        .setBackgroundVisibility(WatchFaceStyle.BACKGROUND_VISIBILITY_INTERRUPTIVE)
        .setShowSystemUiTime(false)
        .setStatusBarGravity(Gravity.BOTTOM)
        .setHotwordIndicatorGravity(Gravity.BOTTOM)
        .build());

この値に設定すると、インジケーター (および「OK Google」起動ワード インジケーター) が画面の中央に表示されます。円形のデバイスでは完全に中央に表示され、正方形のデバイスでは左側に垂直方向に中央揃えで表示されます。

アプリの再起動の間にインジケーターが更新されないという Android Wear の問題を認識していますが、ウォッチフェイスを切り替えたり、完全に再インストールしたりしました。また、水平方向の配置とバイナリ OR を組み合わせて使用​​してみましsetStatusBarGravity()たが、正方形のデバイスでは水平方向の重力のみが考慮されます。

何が問題なのかわかりますか?

4

1 に答える 1

3

Gravity.BOTTOM少し誤解を招くようです。垂直方向の配置は画面の下部ではなく、一部のプリセット位置の最下部にあります。

インジケーターの位置は相対的に見えます。可能性のあるすべてのピーク カードの上、および起動ワード インジケーターの上 (これも に設定されている場合) Gravity.BOTTOM

を設定setHotwordIndicatorGravity(Gravity.CENTER)すると、両方のインジケーターを に設定するよりも、システム インジケーターがわずかに低く表示されることがわかりましたGravity.BOTTOM。理想的ではありませんが、私が得ることができる最高のものです。これは、Wear OS には当てはまらないようです。

390px の円形ディスプレイに対する位置を次のように計算しました。

  • Gravity.TOP: 8.7%
  • Gravity.CENTER_VERTICAL:39.0%
  • Gravity.BOTTOM: 57.4%

ステータスバーアイコンの重力

于 2016-01-25T22:25:03.307 に答える