我正在为 Android Wear 制作一个表盘。我想将状态栏放在底部而不是顶部。
文档说明要使用 WatchFaceStyle.Builder
的 setStatusBarGravity()
方法: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());
结果是这样(注意中间的充电指示器)
我做错了什么?我用谷歌搜索并进行了搜索,但找不到任何相关信息。
最佳答案
恐怕您看到的是 Gravity.BOTTOM
位置。状态栏图标的位置非常通用,底部对齐略低于实际垂直中心,而 Gravity.CENTER_VERTICAL
大约是屏幕的三分之一。
这是三个重力值的图标位置的分割:
请记住,圆形屏幕不考虑水平重力值。
我知道这很令人沮丧,但恐怕就是这样。我建议在 b.android.com 上提交问题以更改此行为。
关于Android Wear 表盘 StatusBar Gravity Bottom 不受尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44119641/