我已经采取了模拟表盘演示,并试图让系统指标出现在底部,使用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”hotword指示器)将显示在屏幕中央。在圆形设备上,它们看起来完全居中,在垂直居中于左侧的方形设备上。
我知道android wear上的一个问题,即在重新发布应用程序之间,指示器没有更新,但我尝试过切换手表面板,甚至完全重新安装。我也尝试过使用
setStatusBarGravity()
结合使用二进制或的水平对齐,但是对于正方形设备,只考虑水平重力。知道有什么问题吗?
最佳答案
似乎Gravity.BOTTOM
有点误导人;垂直对齐不是在屏幕底部,而是在一些预设位置的底部。
指示灯的位置似乎是相对的;高于任何可能的窥视卡,高于热词指示灯(如果它也设置为Gravity.BOTTOM
)。
我发现,如果设置setHotwordIndicatorGravity(Gravity.CENTER)
,则系统指示灯显示的值略低于将两个指示灯都设置为Gravity.BOTTOM
。这不太理想,但这是我能得到的最好的。在wear操作系统中似乎不再是这样了。
我计算了390px圆形显示器的位置:Gravity.TOP
:8.7%Gravity.CENTER_VERTICAL
:39.0%Gravity.BOTTOM
:57.4%
关于android - 系统指示器不尊重重力,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35003486/