Android Wear表面StatusBarGravity底部不受尊重

时间:2017-05-22 18:22:26

标签: android wear-os watch-face-api android-wear-2.0 watchface

我正在为Android Wear制作表盘。我想将状态栏放在底部而不是顶部。

文档说明使用setStatusBarGravity()的{​​{1}}方法:https://developer.android.com/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setStatusBarGravity(int)

但是,这似乎没有按预期工作。每当我使用WatchFaceStyle.Builder时,图标都会在表盘内垂直居中,而不是位于底部。

这是我使用的代码:

Gravity.BOTTOM

导致此结果(注意中间的充电指示器)

img

我做错了什么?我用Google搜索了,但找不到相关信息。

2 个答案:

答案 0 :(得分:1)

恐怕您看到的是 Gravity.BOTTOM职位。状态栏图标的位置非常通用,底部对齐略低于实际垂直中心,而Gravity.CENTER_VERTICAL大约是屏幕的三分之一。

这是三个重力值的图标位置的细分:

Gravity values for Wear OS

请记住,圆形屏幕不遵守水平重力值。

我知道这很令人沮丧,但是恐怕就是这样。我建议在b.android.com上提交问题以更改此行为。

答案 1 :(得分:-1)

确保垂直条之间没有空格 separator和Gravity常量,因为编译器会将其视为多个参数,而不是一个“统一”重力连接参数。

参见" 构建您的Watch Face:使用.setWatchFaceStyle()"在此documentation中获取更多信息。