我在为Android Wear做一个表盘。我想把状态栏放在底部而不是顶部。
文档说明如何使用WatchFaceStyle.Builder
的setStatusBarGravity()
-method:https://developer.android.com/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setStatusBarGravity(int)
然而,这似乎并没有像预期的那样工作。每当我使用Gravity.BOTTOM
时,图标在表盘内部垂直居中而不是位于底部。
这是我使用的代码:
setWatchFaceStyle(new WatchFaceStyle.Builder(Watchface.this)
.setShowUnreadCountIndicator(true)
.setStatusBarGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM)
.setAcceptsTapEvents(true)
.build());
结果是这样(注意中间的充电指示器)
我做错了什么?我已经用谷歌搜索过了,但是找不到任何相关的信息。
发布于 2019-01-30 00:25:48
你所看到的,恐怕是Gravity.BOTTOM
的立场。状态栏图标的位置非常普通,底部对齐位置仅略低于实际垂直中心,而Gravity.CENTER_VERTICAL
大约占屏幕的三分之一。
下面是三个重力值的图标放置的细目:
请记住,圆形屏幕不会考虑水平重力值。
我知道这很令人沮丧,但恐怕事情就是这样。我建议在b.android.com上提交一个问题来改变这种行为。
发布于 2017-05-23 20:12:42
确保竖线分隔符和重力常量之间没有空格,因为这将被编译器视为多个参数,而不是一个“统一的”重力连接参数。
有关更多信息,请参阅此documentation中的“构建您的观察面:使用.setWatchFaceStyle()”。
https://stackoverflow.com/questions/44119641
复制相似问题