我已经采取了模拟表盘演示,并试图让系统指标出现在底部,使用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 - 系统指示器不尊重重力-LMLPHP

关于android - 系统指示器不尊重重力,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35003486/

10-11 20:05